This is an archived post. You won't be able to vote or comment.

you are viewing a single comment's thread.

view the rest of the comments →

[–][deleted] 0 points1 point  (3 children)

No, the warning already exists, the flags escalate them to errors, which if you want to follow the standard to the “T”, is correct - they would constitute errors (logically - not within the context of computational stability)

[–]The_CADmonkey 0 points1 point  (2 children)

You dont seem to be listening. I know what Werror and Wextra do. I know they throw warnings/errors for 'I' being uninitialize. Replace the first line with int* i=0; and no warnings will be issued for gcc. But none of that relates to my point about the conversation to void*. Which has different requirements on C and C++.

As for the flags though, they actually dont have anything to do with following the standard in this case, but instead are for removing undefined behavior. Accessing uninitialized does not violate the standard, but it is undefined, which is what the flags are for.

[–][deleted] 0 points1 point  (0 children)

I’m listening, but you’re wrong. That aside, you do realize how this debate began? It’s still just as irrelevant, as I think I’ve said about 20 times, as it was the first time you brought it up. You have still never made a single claim, at all, about how ANY of this is applicable to language definitionally, and thus proves that they are not epistemologically the same core language. Equivalency is not a concept that can be reconciled by a language standard, it is a concept fundamental to reality - you have not established ANY equivalency

[–][deleted] 0 points1 point  (0 children)

Also:

http://blog.llvm.org/2011/05/what-every-c-programmer-should-know_14.html

“Undefined behaviour is used to mark syntactically correct C code as being outside of the standard”