Next: 1.5 System Requirements
Up: 1. Introduction
Previous: 1.3 Typographic conventions
Contents
Index
1.4 Compatibility with previous
versions
This version has numerous bug fixes compared with the previous version.
But we also introduced some incompatibilities with older versions.
Not just for the fun of it, but to make the compiler more stable,
efficient and ANSI compliant (see section
8.2 for ANSI-Compliance).
- short is now equivalent to int (16 bits), it used to be equivalent
to char (8 bits) which is not ANSI compliant.
- the default directory for gcc-builds where include, library and documentation
files are stored is now in /usr/local/share.
- char type parameters to vararg functions are casted to int unless
explicitly casted, e.g.:
char a=3;
printf ("%d %c\n",
a, (char)a);
will push a as an int and as a char resp.
- option --regextend has been removed.
- option --noregparms has been removed.
- option --stack-after-data has been removed.
- bit and sbit types now consistently
behave like the C99 _Bool type with respect to type conversion.
The most common incompatibility resulting from this change is related
to bit toggling idioms, e.g.:
bit b;
b = ~b; /* equivalent to b=1 instead
of toggling b */
b = !b; /* toggles b */
In previous versions, both forms would have toggled the bit.
<pending: more incompatibilities?>
Next: 1.5 System Requirements
Up: 1. Introduction
Previous: 1.3 Typographic conventions
Contents
Index
2007-03-25