summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorlaw <law@138bc75d-0d04-0410-961f-82ee72b054a4>1998-03-28 13:55:34 +0000
committerlaw <law@138bc75d-0d04-0410-961f-82ee72b054a4>1998-03-28 13:55:34 +0000
commitfcc3f9a4520a313a8215015a238ca64ad5bfc868 (patch)
tree90c49f905e868663af7e7bad0ae21dacc60a4e47
parent3672a1356e76b1c9d3922cd6d66a06fcd14e172a (diff)
downloadgcc-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/ChangeLog5
-rw-r--r--gcc/genemit.c8
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. */