| This is a partial list of how `gcc -traditional' disagrees with |
| traditional C compilers (perhaps only some of them). Most of these |
| differences are not bugs. |
| |
| --------------------------------------------------------------------------- |
| K&R-1 (2.4.3) says: |
| |
| "If the character following a backslash is not one of those |
| specified {in the table above}, the backslash is ignored." |
| |
| Up until recently, `gcc -traditional' complained about \x \a and \v |
| appearing in a character or string literal. I believe however that |
| this non-feature has been eliminated (recently). |
| |
| --------------------------------------------------------------------------- |
| When in -traditional mode, gcc allows the following erroneous pair of |
| declarations to appear together in a given scope: |
| |
| typedef int foo; |
| typedef foo foo; |
| |
| --------------------------------------------------------------------------- |
| K&R-1 (8.5) says: |
| |
| "No field may be wider than a word." |
| |
| Gcc however allows: |
| |
| struct S { int i:33; }; |
| |
| --------------------------------------------------------------------------- |
| In K&R-1 there is no restriction against comments crossing include file |
| boundaries. Gcc however doesn't allow this, even when in -traditional mode. |
| |
| --------------------------------------------------------------------------- |
| Regarding the length of identifiers, K&R-1 (2.2) says: |
| |
| "No more than the first eight characters are significant, |
| although more may be used." |
| |
| Gcc treats all characters of identifiers as significant, even when in |
| -traditional mode. |
| |
| --------------------------------------------------------------------------- |
| K&R-1 (2.2) says: |
| |
| "An identifier is a sequence of letters and digits; the first |
| character must be a letter. The underscore _ counts as a letter." |
| |
| Gcc also allows dollar signs in identifiers. (This may also be an issue |
| for the -pedantic option.) |
| |
| --------------------------------------------------------------------------- |
| |
| |