- who's at fault, me or compiler? - 7 Updates
- What version of C++ - 13 Updates
- Is this undefined behavior? - 1 Update
- About Wait-free and Lock-free and about OneFile.. - 1 Update
- About why is memory reclamation so important? - 3 Updates
| 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:
Post a Comment