summaryrefslogtreecommitdiff
path: root/m68k-unknown-amigaos/recipes/patches/gcc/gcc.c-parse.in.p
diff options
context:
space:
mode:
authorChris Young <chris@unsatisfactorysoftware.co.uk>2015-01-01 15:15:33 +0000
committerVincent Sanders <vince@kyllikki.org>2015-01-11 12:59:46 +0000
commit6d07d38a48ccb71f55cfacffbe86b83f4c75a28c (patch)
tree11490b607e64a3bc98b22f08625d548e285a39af /m68k-unknown-amigaos/recipes/patches/gcc/gcc.c-parse.in.p
parent786ec473315d6960a65c4efdb64f71774b902f5b (diff)
downloadtoolchains-6d07d38a48ccb71f55cfacffbe86b83f4c75a28c.tar.gz
toolchains-6d07d38a48ccb71f55cfacffbe86b83f4c75a28c.tar.bz2
Use gcc 3.4.6 for m68k-amigaos-toolchain
This changes to using the 3.4 series gcc with patches from github:cahirwpz/m68k-amigaos-toolchain and some other modifications to make it compile. clib2 is currently failing to build with this compiler with the following errors: Compiling unistd_getopt.c [large_data_020:c] /tmp/ccrQcqYy.s: Assembler messages: /tmp/ccrQcqYy.s:36: Error: parse error -- statement `cmpl (sp.0),d0' ignored /tmp/ccrQcqYy.s:58: Error: parse error -- statement `movel (sp.0),a0' ignored /tmp/ccrQcqYy.s:86: Error: parse error -- statement `addql #1,(sp.0)' ignored /tmp/ccrQcqYy.s:89: Error: parse error -- statement `movel (sp.0),a0' ignored /tmp/ccrQcqYy.s:94: Error: parse error -- statement `movel d0,(sp.0)' ignored /tmp/ccrQcqYy.s:104: Error: parse error -- statement `addl (sp.0),a0' ignored /tmp/ccrQcqYy.s:129: Error: parse error -- statement `movel d0,(sp.0)' ignored /tmp/ccrQcqYy.s:139: Error: parse error -- statement `movel d0,(sp.0)' ignored /tmp/ccrQcqYy.s:143: Error: parse error -- statement `addql #1,(sp.0)' ignored /tmp/ccrQcqYy.s:146: Error: parse error -- statement `movel (sp.0),a0' ignored /tmp/ccrQcqYy.s:150: Error: parse error -- statement `movel d0,(sp.0)' ignored make[2]: *** [large_data_020/libc_objs/unistd_getopt.o] Error 1
Diffstat (limited to 'm68k-unknown-amigaos/recipes/patches/gcc/gcc.c-parse.in.p')
-rw-r--r--m68k-unknown-amigaos/recipes/patches/gcc/gcc.c-parse.in.p223
1 files changed, 223 insertions, 0 deletions
diff --git a/m68k-unknown-amigaos/recipes/patches/gcc/gcc.c-parse.in.p b/m68k-unknown-amigaos/recipes/patches/gcc/gcc.c-parse.in.p
new file mode 100644
index 0000000..bedb438
--- /dev/null
+++ b/m68k-unknown-amigaos/recipes/patches/gcc/gcc.c-parse.in.p
@@ -0,0 +1,223 @@
+--- c-parse.in 2004-10-15 00:12:53.000000000 +0100
++++ gcc/c-parse.in 2015-01-01 13:56:51.039003490 +0000
+@@ -29,7 +29,7 @@ Software Foundation, 59 Temple Place - S
+ written by AT&T, but I have never seen it. */
+
+ @@ifc
+-%expect 10 /* shift/reduce conflicts, and no reduce/reduce conflicts. */
++%expect 11 /* shift/reduce conflicts, and no reduce/reduce conflicts. */
+ @@end_ifc
+
+ %{
+@@ -1730,7 +1730,7 @@ enum_head:
+
+ structsp_attr:
+ struct_head identifier '{'
+- { $$ = start_struct (RECORD_TYPE, $2);
++ { $<ttype>$ = start_struct (RECORD_TYPE, $2);
+ /* Start scope of tag before parsing components. */
+ }
+ component_decl_list '}' maybe_attribute
+@@ -1741,7 +1741,7 @@ structsp_attr:
+ nreverse ($3), chainon ($1, $5));
+ }
+ | union_head identifier '{'
+- { $$ = start_struct (UNION_TYPE, $2); }
++ { $<ttype>$ = start_struct (UNION_TYPE, $2); }
+ component_decl_list '}' maybe_attribute
+ { $$ = finish_struct ($<ttype>4, nreverse ($5),
+ chainon ($1, $7)); }
+@@ -1750,12 +1750,12 @@ structsp_attr:
+ nreverse ($3), chainon ($1, $5));
+ }
+ | enum_head identifier '{'
+- { $$ = start_enum ($2); }
++ { $<ttype>$ = start_enum ($2); }
+ enumlist maybecomma_warn '}' maybe_attribute
+ { $$ = finish_enum ($<ttype>4, nreverse ($5),
+ chainon ($1, $8)); }
+ | enum_head '{'
+- { $$ = start_enum (NULL_TREE); }
++ { $<ttype>$ = start_enum (NULL_TREE); }
+ enumlist maybecomma_warn '}' maybe_attribute
+ { $$ = finish_enum ($<ttype>3, nreverse ($4),
+ chainon ($1, $7)); }
+@@ -1927,20 +1927,25 @@ absdcl: /* an absolute declarator */
+ | absdcl1
+ ;
+
++/* begin-GG-local: explicit register specification for parameters */
+ absdcl_maybe_attribute: /* absdcl maybe_attribute, but not just attributes */
+- /* empty */
+- { $$ = build_tree_list (build_tree_list (current_declspecs,
+- NULL_TREE),
+- all_prefix_attributes); }
+- | absdcl1
+- { $$ = build_tree_list (build_tree_list (current_declspecs,
+- $1),
+- all_prefix_attributes); }
+- | absdcl1_noea attributes
+- { $$ = build_tree_list (build_tree_list (current_declspecs,
+- $1),
+- chainon ($2, all_prefix_attributes)); }
++ maybeasm
++ { $$ = build_tree_list (
++ build_tree_list (build_tree_list (current_declspecs, NULL_TREE),
++ all_prefix_attributes),
++ $1); }
++ | absdcl1 maybeasm
++ { $$ = build_tree_list (
++ build_tree_list (build_tree_list (current_declspecs, $1),
++ all_prefix_attributes),
++ $2); }
++ | absdcl1_noea maybeasm attributes
++ { $$ = build_tree_list (
++ build_tree_list (build_tree_list (current_declspecs, $1),
++ chainon ($3, all_prefix_attributes)),
++ $2); }
+ ;
++/* end-GG-local */
+
+ absdcl1: /* a nonempty absolute declarator */
+ absdcl1_ea
+@@ -2596,33 +2601,37 @@ parmlist_2: /* empty */
+ }
+ ;
+
++/* begin-GG-local: explicit register specification for parameters */
+ parms:
+ firstparm
+- { push_parm_decl ($1); }
++ { push_parm_decl (TREE_PURPOSE($1), TREE_VALUE($1)); }
+ | parms ',' parm
+- { push_parm_decl ($3); }
++ { push_parm_decl (TREE_PURPOSE($3), TREE_VALUE($3)); }
+ ;
+
+ /* A single parameter declaration or parameter type name,
+ as found in a parmlist. */
+ parm:
+- declspecs_ts setspecs parm_declarator maybe_attribute
+- { $$ = build_tree_list (build_tree_list (current_declspecs,
+- $3),
+- chainon ($4, all_prefix_attributes));
++ declspecs_ts setspecs parm_declarator maybeasm maybe_attribute
++ { $$ = build_tree_list (
++ build_tree_list (build_tree_list (current_declspecs, $3),
++ chainon ($5, all_prefix_attributes)),
++ $4);
+ POP_DECLSPEC_STACK; }
+- | declspecs_ts setspecs notype_declarator maybe_attribute
+- { $$ = build_tree_list (build_tree_list (current_declspecs,
+- $3),
+- chainon ($4, all_prefix_attributes));
++ | declspecs_ts setspecs notype_declarator maybeasm maybe_attribute
++ { $$ = build_tree_list (
++ build_tree_list (build_tree_list (current_declspecs, $3),
++ chainon ($5, all_prefix_attributes)),
++ $4);
+ POP_DECLSPEC_STACK; }
+ | declspecs_ts setspecs absdcl_maybe_attribute
+ { $$ = $3;
+ POP_DECLSPEC_STACK; }
+- | declspecs_nots setspecs notype_declarator maybe_attribute
+- { $$ = build_tree_list (build_tree_list (current_declspecs,
+- $3),
+- chainon ($4, all_prefix_attributes));
++ | declspecs_nots setspecs notype_declarator maybeasm maybe_attribute
++ { $$ = build_tree_list (
++ build_tree_list (build_tree_list (current_declspecs, $3),
++ chainon ($5, all_prefix_attributes)),
++ $4);
+ POP_DECLSPEC_STACK; }
+
+ | declspecs_nots setspecs absdcl_maybe_attribute
+@@ -2633,29 +2642,33 @@ parm:
+ /* The first parm, which must suck attributes from off the top of the parser
+ stack. */
+ firstparm:
+- declspecs_ts_nosa setspecs_fp parm_declarator maybe_attribute
+- { $$ = build_tree_list (build_tree_list (current_declspecs,
+- $3),
+- chainon ($4, all_prefix_attributes));
++ declspecs_ts_nosa setspecs_fp parm_declarator maybeasm maybe_attribute
++ { $$ = build_tree_list (
++ build_tree_list (build_tree_list (current_declspecs, $3),
++ chainon ($5, all_prefix_attributes)),
++ $4);
+ POP_DECLSPEC_STACK; }
+- | declspecs_ts_nosa setspecs_fp notype_declarator maybe_attribute
+- { $$ = build_tree_list (build_tree_list (current_declspecs,
+- $3),
+- chainon ($4, all_prefix_attributes));
++ | declspecs_ts_nosa setspecs_fp notype_declarator maybeasm maybe_attribute
++ { $$ = build_tree_list (
++ build_tree_list (build_tree_list (current_declspecs, $3),
++ chainon ($5, all_prefix_attributes)),
++ $4);
+ POP_DECLSPEC_STACK; }
+ | declspecs_ts_nosa setspecs_fp absdcl_maybe_attribute
+ { $$ = $3;
+ POP_DECLSPEC_STACK; }
+- | declspecs_nots_nosa setspecs_fp notype_declarator maybe_attribute
+- { $$ = build_tree_list (build_tree_list (current_declspecs,
+- $3),
+- chainon ($4, all_prefix_attributes));
++ | declspecs_nots_nosa setspecs_fp notype_declarator maybeasm maybe_attribute
++ { $$ = build_tree_list (
++ build_tree_list (build_tree_list (current_declspecs, $3),
++ chainon ($5, all_prefix_attributes)),
++ $4);
+ POP_DECLSPEC_STACK; }
+
+ | declspecs_nots_nosa setspecs_fp absdcl_maybe_attribute
+ { $$ = $3;
+ POP_DECLSPEC_STACK; }
+ ;
++/* end-GG-local */
+
+ setspecs_fp:
+ setspecs
+@@ -3055,28 +3068,32 @@ mydecl:
+ { pedwarn ("empty declaration"); }
+ ;
+
++/* begin-GG-local: explicit register specification for parameters */
+ myparms:
+ myparm
+- { push_parm_decl ($1); }
++ { push_parm_decl (TREE_PURPOSE($1), TREE_VALUE($1)); }
+ | myparms ',' myparm
+- { push_parm_decl ($3); }
++ { push_parm_decl (TREE_PURPOSE($3), TREE_VALUE($3)); }
+ ;
+
+ /* A single parameter declaration or parameter type name,
+ as found in a parmlist. DOES NOT ALLOW AN INITIALIZER OR ASMSPEC */
+
+ myparm:
+- parm_declarator maybe_attribute
+- { $$ = build_tree_list (build_tree_list (current_declspecs,
+- $1),
+- chainon ($2, all_prefix_attributes)); }
+- | notype_declarator maybe_attribute
+- { $$ = build_tree_list (build_tree_list (current_declspecs,
+- $1),
+- chainon ($2, all_prefix_attributes)); }
++ parm_declarator maybeasm maybe_attribute
++ { $$ = build_tree_list (
++ build_tree_list (build_tree_list (current_declspecs, $1),
++ chainon ($3, all_prefix_attributes)),
++ $2); }
++ | notype_declarator maybeasm maybe_attribute
++ { $$ = build_tree_list (
++ build_tree_list (build_tree_list (current_declspecs, $1),
++ chainon ($2, all_prefix_attributes)),
++ $2); }
+ | absdcl_maybe_attribute
+ { $$ = $1; }
+ ;
++/* end-GG-local */
+
+ optparmlist:
+ /* empty */