aboutsummaryrefslogtreecommitdiff
path: root/gcc/genrecog.c
diff options
context:
space:
mode:
authorKaveh R. Ghazi <ghazi@caip.rutgers.edu>1999-01-04 07:48:37 +0000
committerKaveh Ghazi <ghazi@gcc.gnu.org>1999-01-04 07:48:37 +0000
commit736b02fdfa3d7c93a3693e2fa41acf6d3d65df8c (patch)
treee6dcbf0a389b511b9751f2e3fbcbf9af76269446 /gcc/genrecog.c
parentfbc7f4a22d02ba59c589d13a50a7866d333e5e22 (diff)
downloadgcc-736b02fdfa3d7c93a3693e2fa41acf6d3d65df8c.zip
gcc-736b02fdfa3d7c93a3693e2fa41acf6d3d65df8c.tar.gz
gcc-736b02fdfa3d7c93a3693e2fa41acf6d3d65df8c.tar.bz2
c-common.c (decl_attributes): Allow applying attribute `unused' on a LABEL_DECL.
* c-common.c (decl_attributes): Allow applying attribute `unused' on a LABEL_DECL. * c-parse.in (label): Parse attributes after a label, and call `decl_attributes' to handle them. * gansidecl.h (ATTRIBUTE_UNUSED_LABEL): Define. * genrecog.c (OUTPUT_LABEL, write_tree_1, write_tree): When generating labels, mark them with ATTRIBUTE_UNUSED_LABEL. * invoke.texi: Note that labels can be marked `unused'. From-SVN: r24478
Diffstat (limited to 'gcc/genrecog.c')
-rw-r--r--gcc/genrecog.c11
1 files changed, 7 insertions, 4 deletions
diff --git a/gcc/genrecog.c b/gcc/genrecog.c
index 9fca92fb..285542d 100644
--- a/gcc/genrecog.c
+++ b/gcc/genrecog.c
@@ -51,6 +51,9 @@ Boston, MA 02111-1307, USA. */
#include "rtl.h"
#include "obstack.h"
+#define OUTPUT_LABEL(INDENT_STRING, LABEL_NUMBER) \
+ printf("%sL%d: ATTRIBUTE_UNUSED_LABEL\n", (INDENT_STRING), (LABEL_NUMBER))
+
static struct obstack obstack;
struct obstack *rtl_obstack = &obstack;
@@ -1103,7 +1106,7 @@ write_tree_1 (tree, prevpos, afterward, type)
printf ("\n");
if (tree && tree->subroutine_number == 0)
{
- printf (" L%d:\n", tree->number);
+ OUTPUT_LABEL (" ", tree->number);
tree->label_needed = 0;
}
@@ -1239,7 +1242,7 @@ write_tree_1 (tree, prevpos, afterward, type)
if (p->label_needed && (p->retest_mode || p->retest_code))
{
- printf ("%sL%d:\n", indents[indent - 2], p->number);
+ OUTPUT_LABEL (indents[indent - 2], p->number);
p->label_needed = 0;
}
@@ -1330,7 +1333,7 @@ write_tree_1 (tree, prevpos, afterward, type)
/* Now that most mode and code tests have been done, we can write out
a label for an inner node, if we haven't already. */
if (p->label_needed)
- printf ("%sL%d:\n", indents[indent - 2], p->number);
+ OUTPUT_LABEL (indents[indent - 2], p->number);
inner_indent = indent;
@@ -1563,7 +1566,7 @@ write_tree (tree, prevpos, afterward, initial, type)
if (! initial && tree->subroutine_number > 0)
{
- printf (" L%d:\n", tree->number);
+ OUTPUT_LABEL (" ", tree->number);
if (afterward)
{