summaryrefslogtreecommitdiffstats
path: root/contrib/gcc/README.TRAD
diff options
context:
space:
mode:
authorpeter <peter@FreeBSD.org>1996-09-18 05:35:50 +0000
committerpeter <peter@FreeBSD.org>1996-09-18 05:35:50 +0000
commitd4691e641ba47cb86eef80f5c879e13f9d961724 (patch)
tree5b7ea73fc49c8998d9dc87d3eeff5b96439e6856 /contrib/gcc/README.TRAD
downloadFreeBSD-src-d4691e641ba47cb86eef80f5c879e13f9d961724.zip
FreeBSD-src-d4691e641ba47cb86eef80f5c879e13f9d961724.tar.gz
Import of unmodified (but trimmed) gcc-2.7.2. The bigger parts of the
non-i386, non-unix, and generatable files have been trimmed, but can easily be added in later if needed. gcc-2.7.2.1 will follow shortly, it's a very small delta to this and it's handy to have both available for reference for such little cost. The freebsd-specific changes will then be committed, and once the dust has settled, the bmakefiles will be committed to use this code.
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