Thread overview
Build fails
Nov 27, 2012
John Colvin
Nov 27, 2012
John Colvin
Dec 07, 2012
lomereiter
November 27, 2012
I haven't been able to get GDC to build for a while, the same errors come up on for me on ubuntu and fedora.

In file included from ../../gcc-4.8-20121118/gcc/d/d-lang.cc:28:0:
../../gcc-4.8-20121118/gcc/d/d-codegen.h:553:24: error: ‘gc’ has not been declared
   VEC(constructor_elt, gc) *head;
                        ^
../../gcc-4.8-20121118/gcc/d/d-codegen.h:553:26: error: ISO C++ forbids declaration of ‘VEC’ with no type [-fpermissive]
   VEC(constructor_elt, gc) *head;
                          ^
../../gcc-4.8-20121118/gcc/d/d-codegen.h:553:26: error: expected ‘;’ at end of member declaration
../../gcc-4.8-20121118/gcc/d/d-codegen.h:553:29: error: ISO C++ forbids declaration of ‘head’ with no type [-fpermissive]
   VEC(constructor_elt, gc) *head;
                             ^
../../gcc-4.8-20121118/gcc/d/d-codegen.h: In member function ‘void CtorEltMaker::reserve(int)’:
../../gcc-4.8-20121118/gcc/d/d-codegen.h:560:33: error: expected primary-expression before ‘,’ token
   { VEC_reserve (constructor_elt, gc, this->head, i); }
                                 ^
../../gcc-4.8-20121118/gcc/d/d-codegen.h:560:35: error: ‘gc’ was not declared in this scope
   { VEC_reserve (constructor_elt, gc, this->head, i); }
                                   ^
../../gcc-4.8-20121118/gcc/d/d-codegen.h:560:52: error: ‘VEC_reserve’ was not declared in this scope
   { VEC_reserve (constructor_elt, gc, this->head, i); }
                                                    ^
../../gcc-4.8-20121118/gcc/d/d-codegen.h: In member function ‘void CtorEltMaker::cons(tree, tree)’:
../../gcc-4.8-20121118/gcc/d/d-codegen.h:565:35: error: expected primary-expression before ‘,’ token
     VEC_safe_push (constructor_elt, gc, this->head, ce);
                                   ^
../../gcc-4.8-20121118/gcc/d/d-codegen.h:565:37: error: ‘gc’ was not declared in this scope
     VEC_safe_push (constructor_elt, gc, this->head, ce);
                                     ^
../../gcc-4.8-20121118/gcc/d/d-codegen.h:565:55: error: ‘VEC_safe_push’ was not declared in this scope
     VEC_safe_push (constructor_elt, gc, this->head, ce);
                                                       ^
make[3]: *** [d/d-lang.glue.o] Error 1
make[3]: *** Waiting for unfinished jobs....
In file included from ../../gcc-4.8-20121118/gcc/d/d-decls.cc:32:0:
../../gcc-4.8-20121118/gcc/d/d-codegen.h:553:24: error: ‘gc’ has not been declared
   VEC(constructor_elt, gc) *head;
                        ^
../../gcc-4.8-20121118/gcc/d/d-codegen.h:553:26: error: ISO C++ forbids declaration of ‘VEC’ with no type [-fpermissive]
   VEC(constructor_elt, gc) *head;
                          ^
../../gcc-4.8-20121118/gcc/d/d-codegen.h:553:26: error: expected ‘;’ at end of member declaration
../../gcc-4.8-20121118/gcc/d/d-codegen.h:553:29: error: ISO C++ forbids declaration of ‘head’ with no type [-fpermissive]
   VEC(constructor_elt, gc) *head;
                             ^
../../gcc-4.8-20121118/gcc/d/d-codegen.h: In member function ‘void CtorEltMaker::reserve(int)’:
../../gcc-4.8-20121118/gcc/d/d-codegen.h:560:33: error: expected primary-expression before ‘,’ token
   { VEC_reserve (constructor_elt, gc, this->head, i); }
                                 ^
../../gcc-4.8-20121118/gcc/d/d-codegen.h:560:35: error: ‘gc’ was not declared in this scope
   { VEC_reserve (constructor_elt, gc, this->head, i); }
                                   ^
../../gcc-4.8-20121118/gcc/d/d-codegen.h:560:52: error: ‘VEC_reserve’ was not declared in this scope
   { VEC_reserve (constructor_elt, gc, this->head, i); }
                                                    ^
../../gcc-4.8-20121118/gcc/d/d-codegen.h: In member function ‘void CtorEltMaker::cons(tree, tree)’:
../../gcc-4.8-20121118/gcc/d/d-codegen.h:565:35: error: expected primary-expression before ‘,’ token
     VEC_safe_push (constructor_elt, gc, this->head, ce);
                                   ^
../../gcc-4.8-20121118/gcc/d/d-codegen.h:565:37: error: ‘gc’ was not declared in this scope
     VEC_safe_push (constructor_elt, gc, this->head, ce);
                                     ^
../../gcc-4.8-20121118/gcc/d/d-codegen.h:565:55: error: ‘VEC_safe_push’ was not declared in this scope
     VEC_safe_push (constructor_elt, gc, this->head, ce);
                                                       ^
make[3]: *** [d/d-decls.glue.o] Error 1


gcc snapshot gcc-4.8-20121118
gdc master from git

I got the same when using the latest gcc from svn

Any ideas?
November 27, 2012
Sorry, that was a bit of a mess from using -j5
Here it is again, cleaner, including the compilation that has the problem:

/home/john/Git/GDC/objdir/./prev-gcc/g++ -B/home/john/Git/GDC/objdir/./prev-gcc/ -B/opt/gdc/x86_64-unknown-linux-gnu/bin/ -nostdinc++ -B/home/john/Git/GDC/objdir/prev-x86_64-unknown-linux-gnu/libstdc++-v3/src/.libs -B/home/john/Git/GDC/objdir/prev-x86_64-unknown-linux-gnu/libstdc++-v3/libsupc++/.libs -I/home/john/Git/GDC/objdir/prev-x86_64-unknown-linux-gnu/libstdc++-v3/include/x86_64-unknown-linux-gnu -I/home/john/Git/GDC/objdir/prev-x86_64-unknown-linux-gnu/libstdc++-v3/include -I/home/john/Git/GDC/gcc-4.8-20121118/libstdc++-v3/libsupc++ -L/home/john/Git/GDC/objdir/prev-x86_64-unknown-linux-gnu/libstdc++-v3/src/.libs -L/home/john/Git/GDC/objdir/prev-x86_64-unknown-linux-gnu/libstdc++-v3/libsupc++/.libs  -DIN_GCC_FRONTEND -g -O2 -gtoggle -DIN_GCC   -fno-exceptions -fno-rtti -fasynchronous-unwind-tables -W -Wall -Wno-narrowing -Wwrite-strings -Wcast-qual    -DHAVE_CONFIG_H -I. -Id -I../../gcc-4.8-20121118/gcc -I../../gcc-4.8-20121118/gcc/d -I../../gcc-4.8-20121118/gcc/../include -I../../gcc-4.8-20121118/gcc/../libcpp/include  -I../../gcc-4.8-20121118/gcc/../libdecnumber -I../../gcc-4.8-20121118/gcc/../libdecnumber/bid -I../libdecnumber -I../../gcc-4.8-20121118/gcc/../libbacktrace    -I. -Id -I../../gcc-4.8-20121118/gcc -I../../gcc-4.8-20121118/gcc/d -I../../gcc-4.8-20121118/gcc/../include -I../../gcc-4.8-20121118/gcc/../libcpp/include  -I../../gcc-4.8-20121118/gcc/../libdecnumber -I../../gcc-4.8-20121118/gcc/../libdecnumber/bid -I../libdecnumber -I../../gcc-4.8-20121118/gcc/../libbacktrace   -I../../gcc-4.8-20121118/gcc/d -I../../gcc-4.8-20121118/gcc/d/dfrontend -Id  -o d/d-lang.glue.o -c ../../gcc-4.8-20121118/gcc/d/d-lang.cc
In file included from ../../gcc-4.8-20121118/gcc/d/d-lang.cc:28:0:
../../gcc-4.8-20121118/gcc/d/d-codegen.h:553:24: error: ‘gc’ has not been declared
   VEC(constructor_elt, gc) *head;
                        ^
../../gcc-4.8-20121118/gcc/d/d-codegen.h:553:26: error: ISO C++ forbids declaration of ‘VEC’ with no type [-fpermissive]
   VEC(constructor_elt, gc) *head;
                          ^
../../gcc-4.8-20121118/gcc/d/d-codegen.h:553:26: error: expected ‘;’ at end of member declaration
../../gcc-4.8-20121118/gcc/d/d-codegen.h:553:29: error: ISO C++ forbids declaration of ‘head’ with no type [-fpermissive]
   VEC(constructor_elt, gc) *head;
                             ^
../../gcc-4.8-20121118/gcc/d/d-codegen.h: In member function ‘void CtorEltMaker::reserve(int)’:
../../gcc-4.8-20121118/gcc/d/d-codegen.h:560:33: error: expected primary-expression before ‘,’ token
   { VEC_reserve (constructor_elt, gc, this->head, i); }
                                 ^
../../gcc-4.8-20121118/gcc/d/d-codegen.h:560:35: error: ‘gc’ was not declared in this scope
   { VEC_reserve (constructor_elt, gc, this->head, i); }
                                   ^
../../gcc-4.8-20121118/gcc/d/d-codegen.h:560:52: error: ‘VEC_reserve’ was not declared in this scope
   { VEC_reserve (constructor_elt, gc, this->head, i); }
                                                    ^
../../gcc-4.8-20121118/gcc/d/d-codegen.h: In member function ‘void CtorEltMaker::cons(tree, tree)’:
../../gcc-4.8-20121118/gcc/d/d-codegen.h:565:35: error: expected primary-expression before ‘,’ token
     VEC_safe_push (constructor_elt, gc, this->head, ce);
                                   ^
../../gcc-4.8-20121118/gcc/d/d-codegen.h:565:37: error: ‘gc’ was not declared in this scope
     VEC_safe_push (constructor_elt, gc, this->head, ce);
                                     ^
../../gcc-4.8-20121118/gcc/d/d-codegen.h:565:55: error: ‘VEC_safe_push’ was not declared in this scope
     VEC_safe_push (constructor_elt, gc, this->head, ce);
                                                       ^
make[3]: *** [d/d-lang.glue.o] Error 1

December 07, 2012
This is because of recent change in vector API in GCC (they are moving from old C macros to C++ templates): http://gcc.gnu.org/wiki/cxx-conversion/cxx-vec