https://gcc.gnu.org/bugzilla/show_bug.cgi?id=64362
Bug ID: 64362 Summary: rtl.h:2168:13: error: use of enum 'reg_class' without previous declaration Product: gcc Version: 4.8.4 Status: UNCONFIRMED Severity: normal Priority: P3 Component: other Assignee: unassigned at gcc dot gnu.org Reporter: alp at rsu dot ru Can't compile gcc 4.8.4 with gcc 4.8.3 on illumos (OpenIndiana Hipster). During compilation the following error occurs: /usr/gcc/4.8/bin/g++ -c -g -DIN_GCC -fno-exceptions -fno-rtti -fasynchronous-unwind-tables -W -Wall -Wno-narrowing -Wwrite-strings -Wcast-qual -Wmissing-format-attribute -pedantic -Wno-long-long -Wno-variadic-macros -Wno-overlength-strings -fno-common -DHAVE_CONFIG_H -DGENERATOR_FILE -I. -Ibuild -I/export/home/alp/srcs/oi-userland/components/gcc48/gcc-4.8.4/gcc -I/export/home/alp/srcs/oi-userland/components/gcc48/gcc-4.8.4/gcc/build -I/export/home/alp/srcs/oi-userland/components/gcc48/gcc-4.8.4/gcc/../include -I/export/home/alp/srcs/oi-userland/components/gcc48/gcc-4.8.4/gcc/../libcpp/include \ -o build/genflags.o /export/home/alp/srcs/oi-userland/components/gcc48/gcc-4.8.4/gcc/genflags.c In file included from /export/home/alp/srcs/oi-userland/components/gcc48/gcc-4.8.4/gcc/genflags.c:27:0: /export/home/alp/srcs/oi-userland/components/gcc48/gcc-4.8.4/gcc/rtl.h:2168:13: error: use of enum �reg_class� without previous declaration extern enum reg_class reg_preferred_class (int); ^ /export/home/alp/srcs/oi-userland/components/gcc48/gcc-4.8.4/gcc/rtl.h:2168:48: error: invalid type in declaration before �;� token extern enum reg_class reg_preferred_class (int); ^ /export/home/alp/srcs/oi-userland/components/gcc48/gcc-4.8.4/gcc/rtl.h:2169:13: error: use of enum �reg_class� without previous declaration extern enum reg_class reg_alternate_class (int); ^ /export/home/alp/srcs/oi-userland/components/gcc48/gcc-4.8.4/gcc/rtl.h:2169:48: error: invalid type in declaration before �;� token extern enum reg_class reg_alternate_class (int); ^ /export/home/alp/srcs/oi-userland/components/gcc48/gcc-4.8.4/gcc/rtl.h:2170:13: error: use of enum �reg_class� without previous declaration extern enum reg_class reg_allocno_class (int); ^ /export/home/alp/srcs/oi-userland/components/gcc48/gcc-4.8.4/gcc/rtl.h:2170:46: error: invalid type in declaration before �;� token extern enum reg_class reg_allocno_class (int); ^ /export/home/alp/srcs/oi-userland/components/gcc48/gcc-4.8.4/gcc/rtl.h:2171:42: error: use of enum �reg_class� without previous declaration extern void setup_reg_classes (int, enum reg_class, enum reg_class, ^ /export/home/alp/srcs/oi-userland/components/gcc48/gcc-4.8.4/gcc/rtl.h:2171:58: error: use of enum �reg_class� without previous declaration extern void setup_reg_classes (int, enum reg_class, enum reg_class, ^ /export/home/alp/srcs/oi-userland/components/gcc48/gcc-4.8.4/gcc/rtl.h:2172:16: error: use of enum �reg_class� without previous declaration enum reg_class); ^ /export/home/alp/srcs/oi-userland/components/gcc48/gcc-4.8.4/gcc/rtl.h:2288:31: error: �FIRST_PSEUDO_REGISTER� was not declared in this scope rtx x_initial_regno_reg_rtx[FIRST_PSEUDO_REGISTER]; ^ /export/home/alp/srcs/oi-userland/components/gcc48/gcc-4.8.4/gcc/rtl.h:2295:31: error: �FIRST_PSEUDO_REGISTER� was not declared in this scope rtx x_static_reg_base_value[FIRST_PSEUDO_REGISTER]; ^ /export/home/alp/srcs/oi-userland/components/gcc48/gcc-4.8.4/gcc/rtl.h:2668:55: error: use of enum �reg_class� without previous declaration extern bool invalid_mode_change_p (unsigned int, enum reg_class); ^ /export/home/alp/srcs/oi-userland/components/gcc48/gcc-4.8.4/gcc/rtl.h:2795:38: error: �FIRST_PSEUDO_REGISTER� was not declared in this scope extern tree GTY(()) global_regs_decl[FIRST_PSEUDO_REGISTER]; ^ make[4]: *** [build/genflags.o] Error 1 make[4]: Leaving directory `/export/home/alp/srcs/oi-userland/components/gcc48/build/i86/gcc' make[3]: *** [all-stage1-gcc] Error 2 make[3]: Leaving directory `/export/home/alp/srcs/oi-userland/components/gcc48/build/i86' make[2]: *** [stage1-bubble] Error 2 make[2]: Leaving directory `/export/home/alp/srcs/oi-userland/components/gcc48/build/i86' make[1]: *** [all] Error 2 make[1]: Leaving directory `/export/home/alp/srcs/oi-userland/components/gcc48/build/i86'