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