[Bug bootstrap/28499] New: Bogus whitespace in preprocessor directives breaks bootstrap

skunk at iskunk dot org gcc-bugzilla@gcc.gnu.org
Wed Jul 26 18:19:00 GMT 2006


The file in question here is gcc-4.1.1/gcc/tree-vectorizer.h, though I notice
there are many more instances of this issue in the GCC tree:

  find gcc-4.1.1 -name '*.[ch]' -exec pcregrep
'^\s+#\s*(define|undef|if|endif)' {} \; | wc -l
  326
  (same command, but with "pcregrep -l")
  62

I know that the topic of whitespace before the "#" has been discussed here
before, that the applicable standards allow it and compilers that don't are
broken, etc. ... but I do believe the bootstrapping process, by its nature, has
to accomodate quirks such as these.

----(begin build log excerpt)----
make[2]: Entering directory `/usr/home/cport/tmp/gcc--4.1.1.build/gcc'
cc -c   -g -DENABLE_CHECKING -DENABLE_ASSERT_CHECKING -DIN_GCC    
-DHAVE_CONFIG_H -I. -I. -I/tg/freeport/src/gcc/gcc--4.1.1/gcc
-I/tg/freeport/src/gcc/gcc--4.1.1/gcc/.
-I/tg/freeport/src/gcc/gcc--4.1.1/gcc/../include
-I/tg/freeport/src/gcc/gcc--4.1.1/gcc/../libcpp/include    
/tg/freeport/src/gcc/gcc--4.1.1/gcc/tree-vectorizer.c -o tree-vectorizer.o
cc: Warning: /tg/freeport/src/gcc/gcc--4.1.1/gcc/tree-vectorizer.h, line 33: #
not in column 1 is ignored, skipping to end of line. (ignoretokens)
  #define UNKNOWN_LOC NULL
--^
cc: Warning: /tg/freeport/src/gcc/gcc--4.1.1/gcc/tree-vectorizer.h, line 34: #
not in column 1 is ignored, skipping to end of line. (ignoretokens)
  #define EXPR_LOC(e) EXPR_LOCUS(e)
--^
cc: Warning: /tg/freeport/src/gcc/gcc--4.1.1/gcc/tree-vectorizer.h, line 35: #
not in column 1 is ignored, skipping to end of line. (ignoretokens)
  #define LOC_FILE(l) (l)->file
--^
cc: Warning: /tg/freeport/src/gcc/gcc--4.1.1/gcc/tree-vectorizer.h, line 36: #
not in column 1 is ignored, skipping to end of line. (ignoretokens)
  #define LOC_LINE(l) (l)->line
--^
cc: Error: /tg/freeport/src/gcc/gcc--4.1.1/gcc/tree-vectorizer.c, line 813: In
this statement, "UNKNOWN_LOC" is not declared. (undeclared)
      if (loop_loc != UNKNOWN_LOC)
----------------------^
cc: Error: /tg/freeport/src/gcc/gcc--4.1.1/gcc/tree-vectorizer.c, line 1112: In
this statement, "UNKNOWN_LOC" is not declared. (undeclared)
          if (loop_loc != UNKNOWN_LOC)
--------------------------^
cc: Error: /tg/freeport/src/gcc/gcc--4.1.1/gcc/tree-vectorizer.c, line 1236: In
this statement, "UNKNOWN_LOC" is not declared. (undeclared)
    return UNKNOWN_LOC;
-----------^
cc: Warning: /tg/freeport/src/gcc/gcc--4.1.1/gcc/tree-vectorizer.c, line 1242:
In this statement, "EXPR_LOC(...)" of type "int", is being converted to
"pointer to struct location_s". (cvtdiftypes)
    return EXPR_LOC (node);
-----------^
cc: Warning: /tg/freeport/src/gcc/gcc--4.1.1/gcc/tree-vectorizer.c, line 1256:
In this statement, "EXPR_LOC(...)" of type "int", is being converted to
"pointer to struct location_s". (cvtdiftypes)
        return EXPR_LOC (node);
---------------^
cc: Error: /tg/freeport/src/gcc/gcc--4.1.1/gcc/tree-vectorizer.c, line 1330: In
this statement, "UNKNOWN_LOC" is not declared. (undeclared)
  if (vect_loop_location == UNKNOWN_LOC)
----------------------------^
make[2]: *** [tree-vectorizer.o] Error 1
make[2]: Leaving directory `/usr/home/cport/tmp/gcc--4.1.1.build/gcc'
make[1]: *** [stage1_build] Error 2
make[1]: Leaving directory `/usr/home/cport/tmp/gcc--4.1.1.build/gcc'
make: *** [bootstrap-lean] Error 2
----(end build log excerpt)----


-- 
           Summary: Bogus whitespace in preprocessor directives breaks
                    bootstrap
           Product: gcc
           Version: 4.1.1
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: bootstrap
        AssignedTo: unassigned at gcc dot gnu dot org
        ReportedBy: skunk at iskunk dot org
 GCC build triplet: alphaev56-dec-osf4.0g
  GCC host triplet: alphaev56-dec-osf4.0g
GCC target triplet: alphaev56-dec-osf4.0g


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=28499



More information about the Gcc-bugs mailing list