aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorJeffrey A Law <law@cygnus.com>1998-03-28 13:55:34 +0000
committerJeff Law <law@gcc.gnu.org>1998-03-28 06:55:34 -0700
commitc38d8c5bb36b805247a36a55cafe4a82e8c2923e (patch)
tree90c49f905e868663af7e7bad0ae21dacc60a4e47 /gcc
parentd6e6c585a1c1e6cf52f4c57ef2087bb1b4d531aa (diff)
downloadgcc-c38d8c5bb36b805247a36a55cafe4a82e8c2923e.zip
gcc-c38d8c5bb36b805247a36a55cafe4a82e8c2923e.tar.gz
gcc-c38d8c5bb36b805247a36a55cafe4a82e8c2923e.tar.bz2
genemit.c (gen_expand): Do not emit "_done" or "_fail" labels.
* genemit.c (gen_expand): Do not emit "_done" or "_fail" labels. (gen_split): Likewise. (main): Rework generated definitions of DONE and FAIL so that they no longer use gotos. Avoids warnings about unused labels. From-SVN: r18879
Diffstat (limited to 'gcc')
-rw-r--r--gcc/ChangeLog5
-rw-r--r--gcc/genemit.c8
2 files changed, 7 insertions, 6 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 9b12080..2775149 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,5 +1,10 @@
Sat Mar 28 14:37:20 1998 Jeffrey A Law (law@cygnus.com)
+ * genemit.c (gen_expand): Do not emit "_done" or "_fail" labels.
+ (gen_split): Likewise.
+ (main): Rework generated definitions of DONE and FAIL so that they
+ no longer use gotos. Avoids warnings about unused labels.
+
* integrate.c (copy_rtx_and_substitute): Rework to avoid need for
unused "junk" variable.
diff --git a/gcc/genemit.c b/gcc/genemit.c
index ddfaf38..cb2ec7e 100644
--- a/gcc/genemit.c
+++ b/gcc/genemit.c
@@ -496,9 +496,7 @@ gen_expand (expand)
/* Call `gen_sequence' to make a SEQUENCE out of all the
insns emitted within this gen_... function. */
- printf (" _done:\n");
printf (" _val = gen_sequence ();\n");
- printf (" _fail:\n");
printf (" end_sequence ();\n");
printf (" return _val;\n}\n\n");
}
@@ -586,9 +584,7 @@ gen_split (split)
/* Call `gen_sequence' to make a SEQUENCE out of all the
insns emitted within this gen_... function. */
- printf (" _done:\n");
printf (" _val = gen_sequence ();\n");
- printf (" _fail:\n");
printf (" end_sequence ();\n");
printf (" return _val;\n}\n\n");
}
@@ -753,8 +749,8 @@ from the machine description file `md'. */\n\n");
printf ("extern char *insn_operand_constraint[][MAX_RECOG_OPERANDS];\n\n");
printf ("extern rtx recog_operand[];\n");
printf ("#define operands emit_operand\n\n");
- printf ("#define FAIL goto _fail\n\n");
- printf ("#define DONE goto _done\n\n");
+ printf ("#define FAIL {end_sequence (); return _val;}\n");
+ printf ("#define DONE {_val = gen_sequence (); end_sequence (); return _val;}\n");
/* Read the machine description. */