diff options
author | Jeffrey A Law <law@cygnus.com> | 1998-03-28 13:55:34 +0000 |
---|---|---|
committer | Jeff Law <law@gcc.gnu.org> | 1998-03-28 06:55:34 -0700 |
commit | c38d8c5bb36b805247a36a55cafe4a82e8c2923e (patch) | |
tree | 90c49f905e868663af7e7bad0ae21dacc60a4e47 /gcc/genemit.c | |
parent | d6e6c585a1c1e6cf52f4c57ef2087bb1b4d531aa (diff) | |
download | gcc-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.c | 8 |
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. */ |