aboutsummaryrefslogtreecommitdiff
path: root/gcc/genemit.c
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/genemit.c
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/genemit.c')
-rw-r--r--gcc/genemit.c8
1 files changed, 2 insertions, 6 deletions
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. */