Tuesday, July 14, 2020

Digest for comp.lang.c++@googlegroups.com - 25 updates in 5 topics

Juha Nieminen <nospam@thanks.invalid>: Jul 14 06:39AM

>>its layout isn't in the binary". This whole thing started with your
 
> Well its layout IS in the binary in some form even if thats hardwired offsets
> in assembler. Are you even going to argue that point too now?
 
That's the closest thing to an admission of having been wrong that you have
written so far. Maybe you still have hope.
 
Just stop deflecting. You are just trying to veer the conversation off of
your original claim, trying to divert attention away from it, so that you
don't have to admit having made a mistake. I have seen that many, many
times. It's useless to try to hide what you are doing.
boltar@nowhere.co.uk: Jul 14 08:21AM

On Tue, 14 Jul 2020 06:39:04 +0000 (UTC)
 
>> in assembler. Are you even going to argue that point too now?
 
>That's the closest thing to an admission of having been wrong that you have
>written so far. Maybe you still have hope.
 
Eh? The layout is stored in the binary end of. I never said how. Shall we
end this once and for all? You're a genius in your own mind so I'm sure you
understand assembler so lets have a look at some. Heres the C (to keep it
simple) code:
 
int main()
{
struct st
{
int i;
char c;
short s;
} s;
printf("i = %p\n",&s.i);
printf("c = %p\n",&s.c);
printf("s = %p\n",&s.s);
return 0;
}
 
And here are the relevant assembly instructions. Notice anything?
 
leaq -16(%rbp), %rsi
:
leaq -16(%rbp), %rcx
addq $4, %rcx
:
leaq -16(%rbp), %rcx
addq $6, %rcx
 
Full code at the end in case you think I'm making it up.
 
>your original claim, trying to divert attention away from it, so that you
>don't have to admit having made a mistake. I have seen that many, many
>times. It's useless to try to hide what you are doing.
 
You really are a grade A gold plated prize dick. Now fuck off.
 
 
 
 
.section __TEXT,__text,regular,pure_instructions
.build_version macos, 10, 15 sdk_version 10, 15, 4
.globl _main ## -- Begin function main
.p2align 4, 0x90
_main: ## @main
.cfi_startproc
## %bb.0:
pushq %rbp
.cfi_def_cfa_offset 16
.cfi_offset %rbp, -16
movq %rsp, %rbp
.cfi_def_cfa_register %rbp
subq $32, %rsp
 
 
** leaq -16(%rbp), %rsi
 
 
movl $0, -4(%rbp)
leaq L_.str(%rip), %rdi
movb $0, %al
callq _printf
 
** leaq -16(%rbp), %rcx
addq $4, %rcx
 
leaq L_.str.1(%rip), %rdi
movq %rcx, %rsi
movl %eax, -20(%rbp) ## 4-byte Spill
movb $0, %al
callq _printf
 
 
** leaq -16(%rbp), %rcx
addq $6, %rcx
 
 
leaq L_.str.2(%rip), %rdi
movq %rcx, %rsi
movl %eax, -24(%rbp) ## 4-byte Spill
movb $0, %al
callq _printf
xorl %edx, %edx
movl %eax, -28(%rbp) ## 4-byte Spill
movl %edx, %eax
addq $32, %rsp
popq %rbp
retq
.cfi_endproc
## -- End function
.section __TEXT,__cstring,cstring_literals
L_.str: ## @.str
.asciz "i = %p\n"
 
L_.str.1: ## @.str.1
.asciz "c = %p\n"
 
L_.str.2: ## @.str.2
.asciz "s = %p\n"
Mr Flibble <flibbleREMOVETHISBIT@i42.co.uk>: Jul 14 10:38AM +0100

> return 0;
> }
 
> And here are the relevant assembly instructions. Notice anything?
 
And it is likely that the following code will produce IDENTICAL ASSEMBLY INSTRUCTIONS:
 
int main()
{
int i;
char c;
short s;
printf("i = %p\n",&i);
printf("c = %p\n",&c);
printf("s = %p\n",&s);
return 0;
}
 
In other words YOU ARE STILL WRONG EVEN IF WE IGNORE YOUR MOVING OF THE GOALPOSTS.
 
Now would be a good opportunity for YOU to either ADMIT YOUR MISTAKE OR FUCK OFF.
 
/Flibble
 
--
"Snakes didn't evolve, instead talking snakes with legs changed into snakes." - Rick C. Hodgin
 
"You won't burn in hell. But be nice anyway." – Ricky Gervais
 
"I see Atheists are fighting and killing each other again, over who doesn't believe in any God the most. Oh, no..wait.. that never happens." – Ricky Gervais
 
"Suppose it's all true, and you walk up to the pearly gates, and are confronted by God," Byrne asked on his show The Meaning of Life. "What will Stephen Fry say to him, her, or it?"
"I'd say, bone cancer in children? What's that about?" Fry replied.
"How dare you? How dare you create a world to which there is such misery that is not our fault. It's not right, it's utterly, utterly evil."
"Why should I respect a capricious, mean-minded, stupid God who creates a world that is so full of injustice and pain. That's what I would say."
Juha Nieminen <nospam@thanks.invalid>: Jul 14 11:25AM


>>That's the closest thing to an admission of having been wrong that you have
>>written so far. Maybe you still have hope.
 
> Eh? The layout is stored in the binary end of.
 
The lengths you are going to avoid admitting your mistake is quite hilarious.
 
Your original claim was: Classes cannot be instantiated if their internal
structure is not known. I explained in detail why that's an incorrect
assertion.
 
But rather than admit that it was incorrect, you are now just hammering on and
on about a complete sidetrack: Whether the internal structure is stored in
the executable binary or not.
 
It's completely transparent what you are doing: Sidetracking in order to
avoid having to admit your error. But even when directly pointed and called
out on it, you *still* try to keep sidetracking.
 
It's useless to try to sidetrack and dodge. I can see perfectly well what
you are doing.
 
You keep insulting my understanding of English, if that makes you feel
better.
boltar@nowhere.co.uk: Jul 14 03:18PM

On Tue, 14 Jul 2020 10:38:27 +0100
 
>> And here are the relevant assembly instructions. Notice anything?
 
>And it is likely that the following code will produce IDENTICAL ASSEMBLY
>INSTRUCTIONS:
 
Yes, of course it probably will. What the fuck is your point?
 
>}
 
>In other words YOU ARE STILL WRONG EVEN IF WE IGNORE YOUR MOVING OF THE
>GOALPOSTS.
 
I haven't moved the goalposts pal, you've just got your fields confused.
boltar@nowhere.co.uk: Jul 14 03:22PM

On Tue, 14 Jul 2020 11:25:29 +0000 (UTC)
 
>Your original claim was: Classes cannot be instantiated if their internal
>structure is not known. I explained in detail why that's an incorrect
>assertion.
 
Its not, you're simply an idiot or a troll. Or maybe both.
 
>But rather than admit that it was incorrect, you are now just hammering on and
>on about a complete sidetrack: Whether the internal structure is stored in
>the executable binary or not.
 
Where else will it be stored, in Nieminen Magic Bytes that exist in Fantasy
Finland in a mysterious part of the memory along with Digital Santa?
 
>out on it, you *still* try to keep sidetracking.
 
>It's useless to try to sidetrack and dodge. I can see perfectly well what
>you are doing.
 
No, you're simply accusing me of something you're doing yourself. Its a very
old technique which will nail some people. Sadly for you I'm not one of them.
 
I notice you made no comment on the assembler. Bit confusing for you was it
Mr Genius?
Mr Flibble <flibbleREMOVETHISBIT@i42.co.uk>: Jul 14 05:02PM +0100


>> In other words YOU ARE STILL WRONG EVEN IF WE IGNORE YOUR MOVING OF THE
>> GOALPOSTS.
 
> I haven't moved the goalposts pal, you've just got your fields confused.
 
How dense are you, mate? If one piece of source code with a class produces an identical binary as another piece of source code without any classes at all then please kindly explain how it can possibly be true that class layout information is stored in the binary? Take all the time you need.
 
/Flibble
 
--
"Snakes didn't evolve, instead talking snakes with legs changed into snakes." - Rick C. Hodgin
 
"You won't burn in hell. But be nice anyway." – Ricky Gervais
 
"I see Atheists are fighting and killing each other again, over who doesn't believe in any God the most. Oh, no..wait.. that never happens." – Ricky Gervais
 
"Suppose it's all true, and you walk up to the pearly gates, and are confronted by God," Byrne asked on his show The Meaning of Life. "What will Stephen Fry say to him, her, or it?"
"I'd say, bone cancer in children? What's that about?" Fry replied.
"How dare you? How dare you create a world to which there is such misery that is not our fault. It's not right, it's utterly, utterly evil."
"Why should I respect a capricious, mean-minded, stupid God who creates a world that is so full of injustice and pain. That's what I would say."
"Öö Tiib" <ootiib@hot.ee>: Jul 13 11:18PM -0700

On Monday, 13 July 2020 23:34:07 UTC+3, Keith Thompson wrote:
> [...]
 
> Can you be more specific about that? How is Microsoft's <ctime>
> implementation buggy?
 
For example issue closed as "not bug" 4 days ago while
07:26:18 +0100 and 09:26:18 +0200 are clearly unequal time values.
Juha Nieminen <nospam@thanks.invalid>: Jul 14 06:47AM

> Bart in comp.lang.c keeps critiquing it sometimes ... I don't care.
> Something with backward compatibility to seventies may look awkward,
> it is fine.
 
You make it sound that you find the for() look pointless. However,
I wouldn't be surprised if you use it all the time nevertheless.
Or do you always use 'while' loops because they achieve the same
thing?
 
> value x = source();
> if ( x.has(certain_property) ) x.do_something();
> }
 
Yes, I'm sure that you also always use 'while' loops that do the
same thing as the equivalent 'for' loops, even though this adds
ugly-looking code blocks that don't seem attached to anything
and adds an extra indentation level.
"Öö Tiib" <ootiib@hot.ee>: Jul 14 01:16AM -0700

On Tuesday, 14 July 2020 09:47:37 UTC+3, Juha Nieminen wrote:
> I wouldn't be surprised if you use it all the time nevertheless.
> Or do you always use 'while' loops because they achieve the same
> thing?
 
No. The "for" was first meant to be useful in situation where we
want to sequentially execute certain processing /for/ values in
certain sequence.
 
It is logically different from (but may implemented as subset of)
situations for what "while" was meant. On case of "while" we want
to repeat same processing (logically unconstrained of what) /while/
certain condition keeps being met.
 
Both can be used in situations very far away from what I described
above but doing so is not cooperative as it confuses readers and
so I do not like that. The change of standard extends "if" and
"switch" with something that even does not logically belong into
those ... perhaps to support more abuse.
 
 
> same thing as the equivalent 'for' loops, even though this adds
> ugly-looking code blocks that don't seem attached to anything
> and adds an extra indentation level.
 
You make it sound like you are sure that I always care about loop
iterator's life-time and what value it has when that lasts after
loop? You may be feel sure but you are mistaken. On vast majority
of cases it is totally unimportant.
Keith Thompson <Keith.S.Thompson+u@gmail.com>: Jul 14 01:31AM -0700

>> implementation buggy?
 
> For example issue closed as "not bug" 4 days ago while
> 07:26:18 +0100 and 09:26:18 +0200 are clearly unequal time values.
 
Can you expand on that? What's the bug? What calls produce what
unexpected results? Do you have a link to a bug report?
 
--
Keith Thompson (The_Other_Keith) Keith.S.Thompson+u@gmail.com
Working, but not speaking, for Philips Healthcare
void Void(void) { Void(); } /* The recursive call of the void */
"Öö Tiib" <ootiib@hot.ee>: Jul 14 01:35AM -0700

On Monday, 13 July 2020 23:32:36 UTC+3, Ian Collins wrote:
> return stat->value.i32;
> case KSTAT_DATA_UINT32:
 
> etc...
 
OK, but that seems like taking value from tagged union and then
wrapping it back again into std::any. Do I understand it
correctly?
That makes sense when receiving end is already made to need
std::any. That can happen and reasons of it can be "any". :D
But I have observed that tagged unions (or std::variants) are
slightly more convenient and efficient to use than std::any.
Ian Collins <ian-news@hotmail.com>: Jul 14 08:57PM +1200

On 14/07/2020 20:35, Öö Tiib wrote:
 
> OK, but that seems like taking value from tagged union and then
> wrapping it back again into std::any. Do I understand it
> correctly?
 
Yes.
 
> std::any. That can happen and reasons of it can be "any". :D
> But I have observed that tagged unions (or std::variants) are
> slightly more convenient and efficient to use than std::any.
 
A variant may have been a better choice, but given the types used are
either integral types or std::string, I expect the efficiency should be
about the same.
 
--
Ian
"Öö Tiib" <ootiib@hot.ee>: Jul 14 02:00AM -0700

On Tuesday, 14 July 2020 11:31:54 UTC+3, Keith Thompson wrote:
> > 07:26:18 +0100 and 09:26:18 +0200 are clearly unequal time values.
 
> Can you expand on that? What's the bug? What calls produce what
> unexpected results? Do you have a link to a bug report?
 
Sorry. I felt I posted link.
 
<https://developercommunity.visualstudio.com/content/problem/1105670/stdstrftime-displays-timezone-utc-as-utc1-using-st.html>
 
There have been similar issues ...
<https://developercommunity.visualstudio.com/content/problem/434145/strftime-wcsftime-incorrect-time-zone-offset.html>
Unsure if it it is fixed and in what version.
 
May be that it is because of some logical inconsistency in standards.
The results on Linux, Mac and/or Windows are always different
somewhat. Before C++11 it was best to use custom, per-platform
code to achieve consistent transformations between text and time
values. Boost.Date-Time had also its quirks and inefficiencies.
After C++11 I have gradually started to use <chrono> with helpers
like that <https://github.com/HowardHinnant/date>.
Juha Nieminen <nospam@thanks.invalid>: Jul 14 11:28AM

> iterator's life-time and what value it has when that lasts after
> loop? You may be feel sure but you are mistaken. On vast majority
> of cases it is totally unimportant.
 
Well, nobody is forcing you to declare a variable in the condition of
an 'if' statement. However, if the situation ever arises where that's
the handiest and most convenient thing to do, the feature is there.
woodbrian77@gmail.com: Jul 14 05:48AM -0700

On Tuesday, July 14, 2020 at 6:28:24 AM UTC-5, Juha Nieminen wrote:
 
> Well, nobody is forcing you to declare a variable in the condition of
> an 'if' statement. However, if the situation ever arises where that's
> the handiest and most convenient thing to do, the feature is there.
 
 
Amen.
Real Troll <real.troll@trolls.com>: Jul 14 02:59AM -1000


> Amen.
 
I thought you were Jewish!
"Öö Tiib" <ootiib@hot.ee>: Jul 14 06:03AM -0700

On Tuesday, 14 July 2020 14:28:24 UTC+3, Juha Nieminen wrote:
 
> Well, nobody is forcing you to declare a variable in the condition of
> an 'if' statement. However, if the situation ever arises where that's
> the handiest and most convenient thing to do, the feature is there.
 
I do not find any place in my code where it is handy.
So as I do not see where it is handy (it certainly wasn't in OP
pseudocode) but see pile of ways how to abuse it I see it as
pointless feature. Implementations to implement that feature,
my tools to detect its usage and marking as misuse just added
pointless work for no gain.
woodbrian77@gmail.com: Jul 14 06:09AM -0700

On Tuesday, July 14, 2020 at 7:54:25 AM UTC-5, Real Troll wrote:
> On 14/07/2020 13:48, woodbrian77@gmail.com wrote:
 
> > Amen.
 
> I thought you were Jewish!
 
This guy gives some background on the word
 
https://duckduckgo.com/?q=amen+hebrew&t=hk&iar=videos&iax=videos&ia=videos&iai=https%3A%2F%2Fwww.youtube.com%2Fwatch%3Fv%3Dhq9yt0RXTww
woodbrian77@gmail.com: Jul 14 06:47AM -0700

On Tuesday, July 14, 2020 at 8:03:41 AM UTC-5, Öö Tiib wrote:
> pointless feature. Implementations to implement that feature,
> my tools to detect its usage and marking as misuse just added
> pointless work for no gain.
 
The committee is increasingly daft, and 2020 C++ is a
disappointment to me so far, but this change to 'if' and
'switch' statements makes sense.
 
 
Brian
Tim Rentsch <tr.17687@z991.linuxsc.com>: Jul 14 06:11AM -0700

>> program has undefined behavior, which is determined solely by what
>> is specified (or not) to happen in the abstract machine.
 
> No. UB is not solely a static property of a program. [...]
 
You're putting words in my mouth. Please don't do that.
 
The C++ standard says this: in 4.1 p2.3,
 
If a program contains a violation of a rule for which no
diagnostic is required, this International Standard places
no requirement on implementations with respect to that
program.
 
and in 3.29, defining the term "well-formed program",
 
C++ program constructed according to the syntax rules,
diagnosable semantic rules, and the one-definition rule
 
With the understanding that what is being discussed is only
well-formed programs that do _not_ violate 4.1 p2.3, here is a
more specific phrasing of my statement above:
 
These things [like stack usage] do not affect whether a program
execution has undefined behavior, which is determined solely by
what the C++ standard specifies (or not) will happen in the
abstract machine, as a function of the state of the abstract
machine and what source program element is under consideration,
at each point in the particular execution of the program.
 
Contents of files, and input or output to them, etc, may be taken
to be part of the state of the abstract machine.
 
The key point is that definedness is a function only of the
abstract machine, and not the actual machine. The details
are spelled out in section 4.6, aka intro.execution.
 
Does this elaboration help clarify my comment?
The Real Non Homosexual <cdalten@gmail.com>: Jul 13 05:17PM -0700

On Sunday, July 12, 2020 at 11:44:33 PM UTC-7, Scott Newman wrote:
> > I am a white arab, and i think i am smart like a "genius", ...
 
> Yes, you're a genius and your posts are welcome here.
 
Don't make me have to start playing Barry Manilow.
aminer68@gmail.com: Jul 13 04:33PM -0700

On Monday, July 13, 2020 at 5:11:56 PM UTC-4, Chris M. Thomasson wrote:
 
> https://patents.google.com/patent/US5295262
 
> Btw, have you ever heard of proxy reference counting? Each node does not
> need a counter.
 
 
 
Read this:
 
https://groups.google.com/forum/#!topic/comp.programming.threads/F_cF4ft1Qic
 
 
 
Thank you,
Amine Moulay Ramdane.
aminer68@gmail.com: Jul 13 04:34PM -0700

On Monday, July 13, 2020 at 5:11:56 PM UTC-4, Chris M. Thomasson wrote:
 
> https://patents.google.com/patent/US5295262
 
> Btw, have you ever heard of proxy reference counting? Each node does not
> need a counter.
 
Read this:
 
https://groups.google.com/forum/#!topic/comp.programming.threads/F_cF4ft1Qic
 
 
 
Thank you,
Amine Moulay Ramdane.
"Chris M. Thomasson" <chris.m.thomasson.1@gmail.com>: Jul 13 04:37PM -0700

>> need a counter.
 
> Read this:
 
> https://groups.google.com/forum/#!topic/comp.programming.threads/F_cF4ft1Qic
 
You seem to think that all dynamic lock-free data-structures require
garbage collection. Why? Who told you that?
You received this digest because you're subscribed to updates for this group. You can change your settings on the group membership page.
To unsubscribe from this group and stop receiving emails from it send an email to comp.lang.c+++unsubscribe@googlegroups.com.

No comments: