Annotation of GNUtools/cc/README.TRAD, revision 1.1.1.1

1.1       root        1: This is a partial list of how `gcc -traditional' disagrees with
                      2: traditional C compilers (perhaps only some of them).  Most of these
                      3: differences are not bugs.
                      4: 
                      5: ---------------------------------------------------------------------------
                      6: K&R-1 (2.4.3) says:
                      7: 
                      8:        "If the character following a backslash is not one of those
                      9:        specified {in the table above}, the backslash is ignored."
                     10: 
                     11: Up until recently, `gcc -traditional' complained about \x \a and \v
                     12: appearing in a character or string literal.  I believe however that
                     13: this non-feature has been eliminated (recently).
                     14: 
                     15: ---------------------------------------------------------------------------
                     16: When in -traditional mode, gcc allows the following erroneous pair of
                     17: declarations to appear together in a given scope:
                     18: 
                     19:        typedef int foo;
                     20:        typedef foo foo;
                     21: 
                     22: ---------------------------------------------------------------------------
                     23: K&R-1 (8.5) says:
                     24: 
                     25:        "No field may be wider than a word."
                     26: 
                     27: Gcc however allows:
                     28: 
                     29:        struct S { int i:33; };
                     30: 
                     31: ---------------------------------------------------------------------------
                     32: In K&R-1 there is no restriction against comments crossing include file
                     33: boundaries.  Gcc however doesn't allow this, even when in -traditional mode.
                     34: 
                     35: ---------------------------------------------------------------------------
                     36: Regarding the length of identifiers, K&R-1 (2.2) says:
                     37: 
                     38:        "No more than the first eight characters are significant,
                     39:        although more may be used."
                     40: 
                     41: Gcc treats all characters of identifiers as significant, even when in
                     42: -traditional mode.
                     43: 
                     44: ---------------------------------------------------------------------------
                     45: K&R-1 (2.2) says:
                     46: 
                     47:        "An identifier is a sequence of letters and digits; the first
                     48:        character must be a letter.  The underscore _ counts as a letter."
                     49: 
                     50: Gcc also allows dollar signs in identifiers.  (This may also be an issue
                     51: for the -pedantic option.)
                     52: 
                     53: ---------------------------------------------------------------------------
                     54: 
                     55: 

unix.superglobalmegacorp.com

This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.