aboutsummaryrefslogtreecommitdiff
path: root/gcc/expr.h
diff options
context:
space:
mode:
authorZack Weinberg <zack@gcc.gnu.org>2003-05-07 21:14:48 +0000
committerZack Weinberg <zack@gcc.gnu.org>2003-05-07 21:14:48 +0000
commit046e4e367e33c781229e0f33b936f8c64aa25dc1 (patch)
tree3614f193205349c343ee4e569d08b222253384a4 /gcc/expr.h
parent9d70d418dbe366666be1ec6501d93cf2b661e1a0 (diff)
downloadgcc-046e4e367e33c781229e0f33b936f8c64aa25dc1.zip
gcc-046e4e367e33c781229e0f33b936f8c64aa25dc1.tar.gz
gcc-046e4e367e33c781229e0f33b936f8c64aa25dc1.tar.bz2
stmt.c (force_label_rtx): New function, based on logic formerly found in expand_expr.
* stmt.c (force_label_rtx): New function, based on logic formerly found in expand_expr. * expr.h: Prototype it. * expr.c (expand_expr <LABEL_DECL>): Use force_label_rtx if appropriate. * varasm.c (decode_addr_const <LABEL_DECL>): Use force_label_rtx. * print-tree.c (debug_tree): Free the table after we're done with it. Use putc. treelang: * Make-lang.in: Set -Wno-error for treelang/lex.o. From-SVN: r66579
Diffstat (limited to 'gcc/expr.h')
-rw-r--r--gcc/expr.h5
1 files changed, 5 insertions, 0 deletions
diff --git a/gcc/expr.h b/gcc/expr.h
index dfd83d4..64ee6f1 100644
--- a/gcc/expr.h
+++ b/gcc/expr.h
@@ -595,6 +595,11 @@ extern rtx expand_inline_function PARAMS ((tree, tree, rtx, int, tree, rtx));
/* Return the CODE_LABEL rtx for a LABEL_DECL, creating it if necessary. */
extern rtx label_rtx PARAMS ((tree));
+
+/* As label_rtx, but additionally the label is placed on the forced label
+ list of its containing function (i.e. it is treated as reachable even
+ if how is not obvious). */
+extern rtx force_label_rtx PARAMS ((tree));
#endif
/* Indicate how an input argument register was promoted. */