Linked by Thom Holwerda on Thu 7th Oct 2010 19:10 UTC, submitted by tyrione
General Development LLVM 2.8 has been released. The release notes describe this new, ehm, release in greater detail, so head on over and give it a read.
Permalink for comment 444509
To read all comments associated with this story, please click here.
RE[4]: Comment by kaiwai
by Neolander on Fri 8th Oct 2010 14:10 UTC in reply to "RE[3]: Comment by kaiwai"
Member since:

Nor know the size of the integers you're using (...)

When I read this again, I fear that this is going to be misinterpreted, so I prefer to say it right away : I know that I can use sizeof() to know the size of integer types. But it doesn't make the results less platform- and compiler-specific.

If I use, say, "short" or "long", there's no way I can know what the size in bits of those are on a random platform and compiler, which is highly inconvenient in some cases (like if you want to be sure you can store number X in an integer data type, or for low-level development tasks) while not being exactly advantageous in any way. See as an example of this horrible mess.

We wouldn't have this if C, back in the day, had been defined with stdint-like fixed-size integer types in the first place and only "char" and "int" as vaguely-sized types (char because it's used to store characters anyway and int because it's a convenient shortcut to the machine's fastest integer type), or if its horrible integer types were not copied by C++ for compatibility reasons.

But well, I can't go back in time and change this... And thanks to the introduction of stdint.h in the C99 revision of C, the thing has been fixed there. So I can only hope that this fix is ported to C++ someday. Fixed-sized integers are just the way it should have been done in the first place.

Edited 2010-10-08 14:18 UTC

Reply Parent Score: 2