summaryrefslogtreecommitdiffstats
path: root/contrib/gcc/README.TRAD
diff options
context:
space:
mode:
Diffstat (limited to 'contrib/gcc/README.TRAD')
-rw-r--r--contrib/gcc/README.TRAD55
1 files changed, 55 insertions, 0 deletions
diff --git a/contrib/gcc/README.TRAD b/contrib/gcc/README.TRAD
new file mode 100644
index 0000000..07ccd16
--- /dev/null
+++ b/contrib/gcc/README.TRAD
@@ -0,0 +1,55 @@
+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.)
+
+---------------------------------------------------------------------------
+
+
OpenPOWER on IntegriCloud