I am trying to build with the most recent of gcc that I found that still use gcc-core: ftp://gnu.mirror.iweb.com/gcc/gcc-4.6.4/gcc-core-4.6.4.tar.bz2 ftp://gcc.gnu.org/pub/gcc/infrastructure/gmp-4.3.2.tar.bz2 ftp://gcc.gnu.org/pub/gcc/infrastructure/mpfr-2.4.2.tar.bz2 ftp://gcc.gnu.org/pub/gcc/infrastructure/mpc-0.8.1.tar.gz But I get: [...] | ^~~~~~~~~~ gengtype-lex.c: In function ‘yylex’: gengtype-lex.c:364:15: warning: this statement may fall through [-Wimplicit-fallthrough=] /home/jakub/gcc-4.6.4/gcc-4.6.4/gcc/gengtype-lex.l:130:1: note: in expansion of macro ‘YY_DO_BEFORE_ACTION’ /home/jakub/gcc-4.6.4/gcc-4.6.4/gcc/gengtype-lex.l:127:1: note: here gcc -c -g -fkeep-inline-functions -DIN_GCC -W -Wall -Wwrite-strings -Wcast-qual -Wstrict-prototypes -Wmissing-prototypes -Wmissing-format-attribute -pedantic -Wno-long-long -Wno-variadic-macros -Wno-overlength-strings -Wold-style-definition -Wc++-compat -fno-common -DHAVE_CONFIG_H -DGENERATOR_FILE -I. -Ibuild -I../../gpc2/gcc-4.6.4/gcc -I../../gpc2/gcc-4.6.4/gcc/build -I../../gpc2/gcc-4.6.4/gcc/../include -I../../gpc2/gcc-4.6.4/gcc/../libcpp/include -I../../gpc2/gcc-4.6.4/gcc/../libdecnumber -I../../gpc2/gcc-4.6.4/gcc/../libdecnumber/bid -I../libdecnumber \ -o build/gengtype-parse.o ../../gpc2/gcc-4.6.4/gcc/gengtype-parse.c In file included from ../../gpc2/gcc-4.6.4/gcc/gengtype-parse.c:21: ../../gpc2/gcc-4.6.4/gcc/gengtype.h: In function ‘set_lang_bitmap’: ../../gpc2/gcc-4.6.4/gcc/system.h:636:55: warning: ISO C does not support ‘__FUNCTION__’ predefined identifier [-Wpedantic] 636 | ((void)(!(EXPR) ? fancy_abort (__FILE__, __LINE__, __FUNCTION__), 0 : 0)) | ^~~~~~~~~~~~ ../../gpc2/gcc-4.6.4/gcc/gengtype.h:101:3: note: in expansion of macro ‘gcc_assert’ 101 | gcc_assert (inpf); | ^~~~~~~~~~ ../../gpc2/gcc-4.6.4/gcc/gengtype-parse.c: In function ‘typedef_decl’: ../../gpc2/gcc-4.6.4/gcc/system.h:636:55: warning: ISO C does not support ‘__FUNCTION__’ predefined identifier [-Wpedantic] 636 | ((void)(!(EXPR) ? fancy_abort (__FILE__, __LINE__, __FUNCTION__), 0 : 0)) | ^~~~~~~~~~~~ ../../gpc2/gcc-4.6.4/gcc/gengtype-parse.c:820:3: note: in expansion of macro ‘gcc_assert’ 820 | gcc_assert (token () == TYPEDEF); | ^~~~~~~~~~ gcc -c -g -fkeep-inline-functions -DIN_GCC -W -Wall -Wwrite-strings -Wcast-qual -Wstrict-prototypes -Wmissing-prototypes -Wmissing-format-attribute -pedantic -Wno-long-long -Wno-variadic-macros -Wno-overlength-strings -Wold-style-definition -Wc++-compat -fno-common -DHAVE_CONFIG_H -DGENERATOR_FILE -I. -Ibuild -I../../gpc2/gcc-4.6.4/gcc -I../../gpc2/gcc-4.6.4/gcc/build -I../../gpc2/gcc-4.6.4/gcc/../include -I../../gpc2/gcc-4.6.4/gcc/../libcpp/include -I../../gpc2/gcc-4.6.4/gcc/../libdecnumber -I../../gpc2/gcc-4.6.4/gcc/../libdecnumber/bid -I../libdecnumber \ -o build/gengtype-state.o ../../gpc2/gcc-4.6.4/gcc/gengtype-state.c In file included from ../../gpc2/gcc-4.6.4/gcc/gengtype-state.c:27: ../../gpc2/gcc-4.6.4/gcc/gengtype.h: In function ‘set_lang_bitmap’: ../../gpc2/gcc-4.6.4/gcc/system.h:636:55: warning: ISO C does not support ‘__FUNCTION__’ predefined identifier [-Wpedantic] 636 | ((void)(!(EXPR) ? fancy_abort (__FILE__, __LINE__, __FUNCTION__), 0 : 0)) | ^~~~~~~~~~~~ ../../gpc2/gcc-4.6.4/gcc/gengtype.h:101:3: note: in expansion of macro ‘gcc_assert’ 101 | gcc_assert (inpf); | ^~~~~~~~~~ ../../gpc2/gcc-4.6.4/gcc/gengtype-state.c: In function ‘type_lineloc’: ../../gpc2/gcc-4.6.4/gcc/system.h:656:61: warning: ISO C does not support ‘__FUNCTION__’ predefined identifier [-Wpedantic] 656 | #define gcc_unreachable() (fancy_abort (__FILE__, __LINE__, __FUNCTION__)) | ^~~~~~~~~~~~ ../../gpc2/gcc-4.6.4/gcc/gengtype-state.c:46:7: note: in expansion of macro ‘gcc_unreachable’ 46 | gcc_unreachable (); | ^~~~~~~~~~~~~~~ ../../gpc2/gcc-4.6.4/gcc/system.h:656:61: warning: ISO C does not support ‘__FUNCTION__’ predefined identifier [-Wpedantic] 656 | #define gcc_unreachable() (fancy_abort (__FILE__, __LINE__, __FUNCTION__)) | ^~~~~~~~~~~~ ../../gpc2/gcc-4.6.4/gcc/gengtype-state.c:59:7: note: in expansion of macro ‘gcc_unreachable’ 59 | gcc_unreachable (); | ^~~~~~~~~~~~~~~ ../../gpc2/gcc-4.6.4/gcc/gengtype-state.c: In function ‘write_state_fileloc’: ../../gpc2/gcc-4.6.4/gcc/system.h:636:55: warning: ISO C does not support ‘__FUNCTION__’ predefined identifier [-Wpedantic] 636 | ((void)(!(EXPR) ? fancy_abort (__FILE__, __LINE__, __FUNCTION__), 0 : 0)) | ^~~~~~~~~~~~ ../../gpc2/gcc-4.6.4/gcc/gengtype-state.c:556:7: note: in expansion of macro ‘gcc_assert’ 556 | gcc_assert (floc->file != NULL); | ^~~~~~~~~~ ../../gpc2/gcc-4.6.4/gcc/gengtype-state.c: In function ‘write_state_fields’: ../../gpc2/gcc-4.6.4/gcc/system.h:636:55: warning: ISO C does not support ‘__FUNCTION__’ predefined identifier [-Wpedantic] 636 | ((void)(!(EXPR) ? fancy_abort (__FILE__, __LINE__, __FUNCTION__), 0 : 0)) | ^~~~~~~~~~~~ ../../gpc2/gcc-4.6.4/gcc/gengtype-state.c:585:3: note: in expansion of macro ‘gcc_assert’ 585 | gcc_assert (nbpairs == nbfields); | ^~~~~~~~~~ ../../gpc2/gcc-4.6.4/gcc/gengtype-state.c: In function ‘write_state_lang_struct_type’: ../../gpc2/gcc-4.6.4/gcc/system.h:636:55: warning: ISO C does not support ‘__FUNCTION__’ predefined identifier [-Wpedantic] 636 | ((void)(!(EXPR) ? fancy_abort (__FILE__, __LINE__, __FUNCTION__), 0 : 0)) | ^~~~~~~~~~~~ ../../gpc2/gcc-4.6.4/gcc/gengtype-state.c:827:7: note: in expansion of macro ‘gcc_assert’ 827 | gcc_assert (UNION_OR_STRUCT_P (hty)); | ^~~~~~~~~~ ../../gpc2/gcc-4.6.4/gcc/system.h:636:55: warning: ISO C does not support ‘__FUNCTION__’ predefined identifier [-Wpedantic] 636 | ((void)(!(EXPR) ? fancy_abort (__FILE__, __LINE__, __FUNCTION__), 0 : 0)) | ^~~~~~~~~~~~ ../../gpc2/gcc-4.6.4/gcc/gengtype-state.c:828:7: note: in expansion of macro ‘gcc_assert’ 828 | gcc_assert (hty->u.s.lang_struct == current); | ^~~~~~~~~~ ../../gpc2/gcc-4.6.4/gcc/system.h:636:55: warning: ISO C does not support ‘__FUNCTION__’ predefined identifier [-Wpedantic] 636 | ((void)(!(EXPR) ? fancy_abort (__FILE__, __LINE__, __FUNCTION__), 0 : 0)) | ^~~~~~~~~~~~ ../../gpc2/gcc-4.6.4/gcc/gengtype-state.c:831:7: note: in expansion of macro ‘gcc_assert’ 831 | gcc_assert (strcmp (homoname, hty->u.s.tag) == 0); | ^~~~~~~~~~ ../../gpc2/gcc-4.6.4/gcc/gengtype-state.c: In function ‘write_state_gc_used’: ../../gpc2/gcc-4.6.4/gcc/system.h:656:61: warning: ISO C does not support ‘__FUNCTION__’ predefined identifier [-Wpedantic] 656 | #define gcc_unreachable() (fancy_abort (__FILE__, __LINE__, __FUNCTION__)) | ^~~~~~~~~~~~ ../../gpc2/gcc-4.6.4/gcc/gengtype-state.c:901:7: note: in expansion of macro ‘gcc_unreachable’ 901 | gcc_unreachable (); | ^~~~~~~~~~~~~~~ ../../gpc2/gcc-4.6.4/gcc/gengtype-state.c: In function ‘write_state_typedefs’: ../../gpc2/gcc-4.6.4/gcc/system.h:636:55: warning: ISO C does not support ‘__FUNCTION__’ predefined identifier [-Wpedantic] 636 | ((void)(!(EXPR) ? fancy_abort (__FILE__, __LINE__, __FUNCTION__), 0 : 0)) | ^~~~~~~~~~~~ ../../gpc2/gcc-4.6.4/gcc/gengtype-state.c:1030:3: note: in expansion of macro ‘gcc_assert’ 1030 | gcc_assert (nbpairs == nbtypedefs); | ^~~~~~~~~~ ../../gpc2/gcc-4.6.4/gcc/gengtype-state.c: In function ‘write_state_variables’: ../../gpc2/gcc-4.6.4/gcc/system.h:636:55: warning: ISO C does not support ‘__FUNCTION__’ predefined identifier [-Wpedantic] 636 | ((void)(!(EXPR) ? fancy_abort (__FILE__, __LINE__, __FUNCTION__), 0 : 0)) | ^~~~~~~~~~~~ ../../gpc2/gcc-4.6.4/gcc/gengtype-state.c:1082:3: note: in expansion of macro ‘gcc_assert’ 1082 | gcc_assert (nbpairs == nbvars); | ^~~~~~~~~~ ../../gpc2/gcc-4.6.4/gcc/gengtype-state.c: In function ‘record_type’: ../../gpc2/gcc-4.6.4/gcc/system.h:636:55: warning: ISO C does not support ‘__FUNCTION__’ predefined identifier [-Wpedantic] 636 | ((void)(!(EXPR) ? fancy_abort (__FILE__, __LINE__, __FUNCTION__), 0 : 0)) | ^~~~~~~~~~~~ ../../gpc2/gcc-4.6.4/gcc/gengtype-state.c:1249:3: note: in expansion of macro ‘gcc_assert’ 1249 | gcc_assert (slot); | ^~~~~~~~~~ ../../gpc2/gcc-4.6.4/gcc/gengtype-state.c: In function ‘read_state_fileloc’: ../../gpc2/gcc-4.6.4/gcc/system.h:636:55: warning: ISO C does not support ‘__FUNCTION__’ predefined identifier [-Wpedantic] 636 | ((void)(!(EXPR) ? fancy_abort (__FILE__, __LINE__, __FUNCTION__), 0 : 0)) | ^~~~~~~~~~~~ ../../gpc2/gcc-4.6.4/gcc/gengtype-state.c:1683:3: note: in expansion of macro ‘gcc_assert’ 1683 | gcc_assert (floc != NULL); | ^~~~~~~~~~ ../../gpc2/gcc-4.6.4/gcc/system.h:636:55: warning: ISO C does not support ‘__FUNCTION__’ predefined identifier [-Wpedantic] 636 | ((void)(!(EXPR) ? fancy_abort (__FILE__, __LINE__, __FUNCTION__), 0 : 0)) | ^~~~~~~~~~~~ ../../gpc2/gcc-4.6.4/gcc/gengtype-state.c:1684:3: note: in expansion of macro ‘gcc_assert’ 1684 | gcc_assert (srcdir != NULL); | ^~~~~~~~~~ ../../gpc2/gcc-4.6.4/gcc/gengtype-state.c: In function ‘read_state_files_list’: ../../gpc2/gcc-4.6.4/gcc/gengtype-state.c:2344:34: warning: comparison of constant ‘4’ with boolean expression is always false [-Wbool-compare] 2344 | if (!state_token_kind (t0) == STOK_RIGHTPAR) | ^~ ../../gpc2/gcc-4.6.4/gcc/gengtype-state.c:2344:34: warning: logical not is only applied to the left hand side of comparison [-Wlogical-not-parentheses] ../../gpc2/gcc-4.6.4/gcc/gengtype-state.c:2344:11: note: add parentheses around left hand side expression to silence this warning 2344 | if (!state_token_kind (t0) == STOK_RIGHTPAR) | ^~~~~~~~~~~~~~~~~~~~~~ | ( ) gcc -c -g -fkeep-inline-functions -DIN_GCC -W -Wall -Wwrite-strings -Wcast-qual -Wstrict-prototypes -Wmissing-prototypes -Wmissing-format-attribute -pedantic -Wno-long-long -Wno-variadic-macros -Wno-overlength-strings -Wold-style-definition -Wc++-compat -fno-common -DHAVE_CONFIG_H -DGENERATOR_FILE -I. -Ibuild -I../../gpc2/gcc-4.6.4/gcc -I../../gpc2/gcc-4.6.4/gcc/build -I../../gpc2/gcc-4.6.4/gcc/../include -I../../gpc2/gcc-4.6.4/gcc/../libcpp/include -I../../gpc2/gcc-4.6.4/gcc/../libdecnumber -I../../gpc2/gcc-4.6.4/gcc/../libdecnumber/bid -I../libdecnumber \ -DBASEVER="\"4.6.4\"" -DDATESTAMP="\"\"" \ -DREVISION="\"\"" \ -DDEVPHASE="\"\"" -DPKGVERSION="\"(GCC) \"" \ -DBUGURL="\"<http://gcc.gnu.org/bugs.html>\"" -o build/version.o ../../gpc2/gcc-4.6.4/gcc/version.c gcc -g -fkeep-inline-functions -DIN_GCC -W -Wall -Wwrite-strings -Wcast-qual -Wstrict-prototypes -Wmissing-prototypes -Wmissing-format-attribute -pedantic -Wno-long-long -Wno-variadic-macros -Wno-overlength-strings -Wold-style-definition -Wc++-compat -fno-common -DHAVE_CONFIG_H -DGENERATOR_FILE -o build/gengtype \ build/gengtype.o build/errors.o build/gengtype-lex.o build/gengtype-parse.o build/gengtype-state.o build/version.o ../build-x86_64-unknown-linux-gnu/libiberty/libiberty.a /bin/bash ../../gpc2/gcc-4.6.4/gcc/../move-if-change tmp-gi.list gtyp-input.list echo timestamp > s-gtyp-input build/gengtype \ -S ../../gpc2/gcc-4.6.4/gcc -I gtyp-input.list -w gtype.state ../../gpc2/gcc-4.6.4/gcc/p/gpc.h:210: parse error: GTY must be specified before identifier ../../gpc2/gcc-4.6.4/gcc/p/gpc.h:222: parse error: GTY must be specified before identifier ../../gpc2/gcc-4.6.4/gcc/p/gpc.h:277: parse error: GTY must be specified before identifier ../../gpc2/gcc-4.6.4/gcc/p/gpc.h:295: parse error: GTY must be specified before identifier ../../gpc2/gcc-4.6.4/gcc/p/gpc.h:309: parse error: GTY must be specified before identifier ../../gpc2/gcc-4.6.4/gcc/p/gpc.h:518: parse error: GTY must be specified before identifier ../../gpc2/gcc-4.6.4/gcc/p/gpc.h:598: parse error: GTY must be specified before identifier ../../gpc2/gcc-4.6.4/gcc/p/gpc.h:841: parse error: GTY must be specified before identifier ../../gpc2/gcc-4.6.4/gcc/p/gpc.h:1439: parse error: GTY must be specified before identifier ../../gpc2/gcc-4.6.4/gcc/p/declarations.c:171: parse error: GTY must be specified before identifier ../../gpc2/gcc-4.6.4/gcc/p/declarations.c:3673: parse error: GTY must be specified before identifier ../../gpc2/gcc-4.6.4/gcc/p/module.c:285: parse error: GTY must be specified before identifier make[3]: *** [Makefile:3825 : s-gtype] Erreur 1 make[3] : on quitte le répertoire « /home/paul/gpc-build2/gcc » make[2]: *** [Makefile:5498 : all-stage1-gcc] Erreur 2 make[2] : on quitte le répertoire « /home/paul/gpc-build2 » make[1]: *** [Makefile:19609 : stage1-bubble] Erreur 2 make[1] : on quitte le répertoire « /home/paul/gpc-build2 » make: *** [Makefile:877 : all] Erreur 2 paul@jacko:~/gpc-build2$ After fixing those errors (not knowing what I do but obeying to the compiler) I get: GENERATOR_FILE -o build/genpreds \ build/genpreds.o build/rtl.o build/read-rtl.o build/ggc-none.o build/vec.o build/min-insn-modes.o build/gensupport.o build/print-rtl.o build/read-md.o build/errors.o ../build-x86_64-unknown-linux-gnu/libiberty/libiberty.a build/genpreds -h ../../gpc2/gcc-4.6.4/gcc/config/i386/i386.md > tmp-preds.h /bin/bash ../../gpc2/gcc-4.6.4/gcc/../move-if-change tmp-preds.h tm-preds.h echo timestamp > s-preds-h rm -f tmp-all-tree.def echo '#include "tree.def"' > tmp-all-tree.def echo 'END_OF_BASE_TREE_CODES' >> tmp-all-tree.def echo '#include "c-family/c-common.def"' >> tmp-all-tree.def ltf="../../gpc2/gcc-4.6.4/gcc/p/p-tree.def"; for f in $ltf; do \ echo "#include \"$f\""; \ done | sed 's|../../gpc2/gcc-4.6.4/gcc/||' >> tmp-all-tree.def /bin/bash ../../gpc2/gcc-4.6.4/gcc/../move-if-change tmp-all-tree.def all-tree.def echo timestamp > s-alltree gcc -c -g -DIN_GCC -W -Wall -Wwrite-strings -Wcast-qual -Wstrict-prototypes -Wmissing-prototypes -Wold-style-definition -Wc++-compat -fno-common -DHAVE_CONFIG_H -DGENERATOR_FILE -I. -Ibuild -I../../gpc2/gcc-4.6.4/gcc -I../../gpc2/gcc-4.6.4/gcc/build -I../../gpc2/gcc-4.6.4/gcc/../include -I../../gpc2/gcc-4.6.4/gcc/../libcpp/include -I../../gpc2/gcc-4.6.4/gcc/../libdecnumber -I../../gpc2/gcc-4.6.4/gcc/../libdecnumber/bid -I../libdecnumber \ -o build/gencheck.o ../../gpc2/gcc-4.6.4/gcc/gencheck.c gcc -g -DIN_GCC -W -Wall -Wwrite-strings -Wcast-qual -Wstrict-prototypes -Wmissing-prototypes -Wold-style-definition -Wc++-compat -fno-common -DHAVE_CONFIG_H -DGENERATOR_FILE -o build/gencheck \ build/gencheck.o ../build-x86_64-unknown-linux-gnu/libiberty/libiberty.a build/gencheck > tmp-check.h /bin/bash ../../gpc2/gcc-4.6.4/gcc/../move-if-change tmp-check.h tree-check.h echo timestamp > s-check build/genpreds -c ../../gpc2/gcc-4.6.4/gcc/config/i386/i386.md > tmp-constrs.h /bin/bash ../../gpc2/gcc-4.6.4/gcc/../move-if-change tmp-constrs.h tm-constrs.h echo timestamp > s-constrs-h gcc -c -g -DIN_GCC -W -Wall -Wwrite-strings -Wcast-qual -Wstrict-prototypes -Wmissing-prototypes -Wold-style-definition -Wc++-compat -fno-common -DHAVE_CONFIG_H -DGENERATOR_FILE -I. -Ibuild -I../../gpc2/gcc-4.6.4/gcc -I../../gpc2/gcc-4.6.4/gcc/build -I../../gpc2/gcc-4.6.4/gcc/../include -I../../gpc2/gcc-4.6.4/gcc/../libcpp/include -I../../gpc2/gcc-4.6.4/gcc/../libdecnumber -I../../gpc2/gcc-4.6.4/gcc/../libdecnumber/bid -I../libdecnumber \ -o build/gencondmd.o build/gencondmd.c In file included from ../../gpc2/gcc-4.6.4/gcc/function.h:25, from build/gencondmd.c:25: ../../gpc2/gcc-4.6.4/gcc/p/p-tree.def:43:14: error: redeclaration of enumerator ‘NAMESPACE_DECL’ 43 | DEFTREECODE (NAMESPACE_DECL, "namespace_decl", "d", 0) | ^~~~~~~~~~~~~~ ../../gpc2/gcc-4.6.4/gcc/tree.h:39:49: note: in definition of macro ‘DEFTREECODE’ 39 | #define DEFTREECODE(SYM, STRING, TYPE, NARGS) SYM, | ^~~ ../../gpc2/gcc-4.6.4/gcc/tree.def:363:14: note: previous definition of ‘NAMESPACE_DECL’ was here 363 | DEFTREECODE (NAMESPACE_DECL, "namespace_decl", tcc_declaration, 0) | ^~~~~~~~~~~~~~ ../../gpc2/gcc-4.6.4/gcc/tree.h:39:49: note: in definition of macro ‘DEFTREECODE’ 39 | #define DEFTREECODE(SYM, STRING, TYPE, NARGS) SYM, | ^~~ In file included from ../../gpc2/gcc-4.6.4/gcc/function.h:25, from build/gencondmd.c:25: ../../gpc2/gcc-4.6.4/gcc/tree.h:3130:11: warning: identifier ‘thread_local’ conflicts with C++ keyword [-Wc++-compat] 3130 | unsigned thread_local : 1; | ^~~~~~~~~~~~ In file included from build/gencondmd.c:33: ../../gpc2/gcc-4.6.4/gcc/recog.h:287:5: warning: this use of "defined" may not be portable [-Wexpansion-to-defined] 287 | #if HAVE_DESIGNATED_INITIALIZERS | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~ make[3]: *** [Makefile:3847 : build/gencondmd.o] Erreur 1 make[3] : on quitte le répertoire « /home/paul/gpc-build2/gcc » make[2]: *** [Makefile:5498 : all-stage1-gcc] Erreur 2 make[2] : on quitte le répertoire « /home/paul/gpc-build2 » make[1]: *** [Makefile:19609 : stage1-bubble] Erreur 2 make[1] : on quitte le répertoire « /home/paul/gpc-build2 » make: *** [Makefile:877 : all] Erreur 2 paul@jacko:~/gpc-build2$ ========================================================================= paul@jacko:~/gpc2/gcc-4.6.4/gcc/p$ diff -u gpc.h.orig gpc.h --- gpc.h.orig 2021-02-28 15:12:28.881046603 -0500 +++ gpc.h 2021-02-28 15:25:41.684525601 -0500 @@ -206,7 +206,7 @@ often the same). */ #define PERMANENT_STRING(S) (IDENTIFIER_POINTER (get_identifier (S))) -struct tree_inn GTY(()) +struct GTY(()) tree_inn { struct tree_common common; struct interface_table_t * GTY((skip(""))) table; @@ -218,7 +218,7 @@ typedef enum { IMPORT_USES, IMPORT_QUALIFIED, IMPORT_ISO } import_type; -struct tree_import GTY(()) +struct GTY(()) tree_import { struct tree_common common; gpi_int qualified; @@ -273,7 +273,7 @@ #define KW_WEAK 32 #define KW_INFORMED 64 -struct predef GTY(()) +struct GTY(()) predef { const char *idname; const char *rts_idname; @@ -291,7 +291,7 @@ #define PD_ACTIVE(PD) ((PD) && (PD)->user_disabled < (!co->pascal_dialect || (co->pascal_dialect & (PD)->dialect))) /* Language-dependent contents of an identifier. */ -struct lang_identifier GTY(()) +GTY(()) struct lang_identifier { struct tree_identifier ignore; tree value; @@ -303,12 +303,12 @@ int spelling_column; }; -union lang_tree_node - GTY((desc ("((TREE_CODE (&%h.generic) == IDENTIFIER_NODE) || (TREE_CODE (&%h.generic) == INTERFACE_NAME_NODE) || (TREE_CODE (&%h.generic) == IMPORT_NODE)) ? TREE_CODE (&%h.generic) : 0"), +union GTY(()) lang_tree_node + ((desc ("((TREE_CODE (&%h.generic) == IDENTIFIER_NODE) || (TREE_CODE (&%h.generic) == INTERFACE_NAME_NODE) || (TREE_CODE (&%h.generic) == IMPORT_NODE)) ? TREE_CODE (&%h.generic) : 0"), chain_next ("(union lang_tree_node *) TREE_CHAIN (&%h.generic)"))) { union tree_node GTY ((tag ("0"), desc ("tree_node_structure (&%h)"))) generic; - struct lang_identifier GTY ((tag ("IDENTIFIER_NODE"))) identifier; + struct GTY(()) lang_identifier ((tag ("IDENTIFIER_NODE"))) identifier; struct tree_inn GTY ((tag ("INTERFACE_NAME_NODE"))) interface; struct tree_import GTY ((tag ("IMPORT_NODE"))) import; }; @@ -514,7 +514,7 @@ (see EP 6.10.2). Used in CONST_DECL nodes. */ #define PASCAL_CST_PRINCIPAL_ID(decl) DECL_LANG_FLAG_7 (decl) -struct lang_decl GTY(()) +struct GTY(()) lang_decl { tree info1; tree info2; @@ -594,7 +594,7 @@ /* Set if the variants of a record have initializers. Used in RECORD_TYPE nodes. */ #define PASCAL_TYPE_INITIALIZER_VARIANTS(type) TYPE_LANG_FLAG_5 (type) -struct lang_type GTY(()) +struct GTY(()) lang_type { int code; tree info; @@ -837,7 +837,7 @@ /* options.c */ -typedef struct string_list GTY(()) +typedef struct GTY(()) string_list { struct string_list *next; char *string; @@ -1435,7 +1435,7 @@ typedef enum { LF_UNIT, LF_COMPILED_UNIT, LF_OBJECT, LF_COMPILED_OBJECT } locate_file_t; #define MODULE_T_FIRST_TREE_FIELD imports -struct module GTY(()) +struct GTY(())module { tree imports; /* TREE_LIST of IMPORT_NODEs of imported interfaces for this module. */ tree exports; /* TREE_LIST of interfaces exported from this module paul@jacko:~/gpc2/gcc-4.6.4/gcc/p$ ========================================================================================== paul@jacko:~/gpc2/gcc-4.6.4/gcc/p$ diff -u declarations.c.orig declarations.c --- declarations.c.orig 2021-02-28 15:12:42.077046333 -0500 +++ declarations.c 2021-02-28 15:27:17.724422309 -0500 @@ -167,7 +167,7 @@ for the main level of statements. - one (transparent) for each structured statement, see pushlevel_expand */ -struct binding_level GTY(()) +struct GTY(()) binding_level { /* A chain of declarations. These are in the reverse of the order supplied. */ tree names; @@ -3669,7 +3669,7 @@ } #ifdef GCC_3_3 -struct language_function GTY(()) +struct GTY(()) language_function { int unused; }; paul@jacko:~/gpc2/gcc-4.6.4/gcc/p$ =================================================================================== paul@jacko:~/gpc2/gcc-4.6.4/gcc/p$ diff -u module.c.orig module.c --- module.c.orig 2021-02-28 15:12:50.693045920 -0500 +++ module.c 2021-02-28 15:28:06.812307424 -0500 @@ -281,7 +281,7 @@ /* A table holding the nodes imported from all GPI files together with their UIDs, so duplicates can be identified. */ -struct interface_table_t GTY(()) +struct GTY(()) interface_table_t { tree interface_name; tree module_name; paul@jacko:~/gpc2/gcc-4.6.4/gcc/p$ =================================================================