Since many files now use non-ANSI constructs ('long long', substructure initializers, implicit signedness conversions, ...) you shouldn't use "gcc -ansi -pedantic". On our ix86-linux-gnu system this change reduces the number of gcc-3.4.3 warnings from originally 3034 to 1460! (Still by far to many, as compared to 42 for XFree86-4.5.0.) I have reported the change in "xfree86.cf" to XFree86 about a year ago. diff -ur -N XOrg-6.8.2.orig/xc/config/cf/xfree86.cf XOrg-6.8.2/xc/config/cf/xfree86.cf --- XOrg-6.8.2.orig/xc/config/cf/xfree86.cf 2005-03-22 17:51:10.000000000 +0100 +++ XOrg-6.8.2/xc/config/cf/xfree86.cf 2005-04-04 13:54:19.000000000 +0200 @@ -1866,7 +1866,7 @@ # if defined(UseInstalled) # define DefaultCCOptions /* -ansi */ # else -# define DefaultCCOptions -ansi -pedantic GccWarningOptions +# define DefaultCCOptions -ansi GccWarningOptions # endif # endif # if defined(UseInstalled) diff -ur -N XOrg-6.8.2.orig/xc/config/cf/xorg.cf XOrg-6.8.2/xc/config/cf/xorg.cf --- XOrg-6.8.2.orig/xc/config/cf/xorg.cf 2005-03-22 17:52:12.000000000 +0100 +++ XOrg-6.8.2/xc/config/cf/xorg.cf 2005-04-04 13:54:16.000000000 +0200 @@ -1538,7 +1538,7 @@ # if defined(UseInstalled) # define DefaultCCOptions /* -ansi */ # else -# define DefaultCCOptions -ansi -pedantic GccWarningOptions +# define DefaultCCOptions -ansi GccWarningOptions # endif # endif # if defined(UseInstalled)