[followup set to comp.lang.c]
Army1987 wrote: [snip]
If you don't need C99 support and can wait for 90MB to download,
use MSVC. Its long double is eight bytes, but at least the fractal
picture I generate computing with them isn't yellowed by a bug
which prevents a three byte struct from being returned correctly.
??? This was fixed at least a year ago. Can you send a test
example?
http://groups.google.it/group/comp....n+returning+a+struct"&rnum=1#842f1a7d476c7c65
Also it doesn't have the upper limits of some unsigned types
suffixed with LL without any U.
Either it is a fixed bug since ages or you are talking nonsense.
In limits.h I have
#define ULLONG_MAX 18446744073709551615ULL
And in stdint.h you have (except for the comments):
#ifndef __stdint_h__
#define __stdint_h__
[snip]
#define INTMAX_C(a) (a##LL)
#define UINTMAX_C(a) (a##LL)
/* What? */
typedef char int_fast8_t;
typedef unsigned char uint_fast8_t;
typedef short int_fast16_t;
/* well, is int_fast16_t smaller than int? The standard suggests
* that int has the "natural" size, so is something unnatural
* faster? Also, on glibc with this same processor int_fast16_t
* is int, does the relative speed of types depend on the OS, on
* the compiler, or what? */
typedef unsigned short uint_fast16_t;
typedef int int_fast32_t;
typedef unsigned int uint_fast32_t;
typedef long long int_fast64_t;
typedef unsigned long long uint_fast64_t;
[snip]
#define INT8_MIN -128
#define INT16_MIN -32768
#define INT32_MIN -2147483648
/* 2147483648 doesn't fit in a int32_t, so its type can't be
* int32_t, and neither the type of its negation can. */
#define INT64_MIN -9223372036854775808LL
/* 9223372036854775808 doesn't fit in any signed type... */
[snip]
#define RSIZE_MAX INT32_MAX
/* Well, where on Earth does the C standard grant you the right to
* invade the user namespace like that? */
#endif
Well, I remembered the other way round... Except for the case of
the UINTMAX_C macro...
Can you provide an example?
Obviously a typo invalidates all other features of this compiler.
Using MSVC of course prevents you from all bugs since it is
a well known thing that Microsoft has never any bugs.
If the OP wants to be "prevented from all bugs" he'd not be using
Windows in the first place (or even not a computer in the first
place...)