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$
=================================================================