diff options
author | law <law@138bc75d-0d04-0410-961f-82ee72b054a4> | 1998-03-28 13:55:34 +0000 |
---|---|---|
committer | law <law@138bc75d-0d04-0410-961f-82ee72b054a4> | 1998-03-28 13:55:34 +0000 |
commit | fcc3f9a4520a313a8215015a238ca64ad5bfc868 (patch) | |
tree | 90c49f905e868663af7e7bad0ae21dacc60a4e47 | |
parent | 3672a1356e76b1c9d3922cd6d66a06fcd14e172a (diff) | |
download | gcc-fcc3f9a4520a313a8215015a238ca64ad5bfc868.tar.gz |
* 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.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@18879 138bc75d-0d04-0410-961f-82ee72b054a4
-rw-r--r-- | gcc/ChangeLog | 5 | ||||
-rw-r--r-- | gcc/genemit.c | 8 |
2 files changed, 7 insertions, 6 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 9b12080bd42..2775149ed7e 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 ddfaf383085..cb2ec7e21d0 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. */ |