aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorNeil Booth <neil@daikokuya.demon.co.uk>2001-05-11 06:35:10 +0000
committerNeil Booth <neil@gcc.gnu.org>2001-05-11 06:35:10 +0000
commit8e93d44655a8a0cee4a687ac973a54d847e4924b (patch)
treeb3e6d409ceaedc5860583b41d8fdd1da198868d9 /gcc
parent487dcdb055f2cfaab30e02bc0981eeade3d193d7 (diff)
downloadgcc-8e93d44655a8a0cee4a687ac973a54d847e4924b.zip
gcc-8e93d44655a8a0cee4a687ac973a54d847e4924b.tar.gz
gcc-8e93d44655a8a0cee4a687ac973a54d847e4924b.tar.bz2
cp-tree.h (finish_label_expr, [...]): Delete.
* cp-tree.h (finish_label_expr, lookup_label): Delete. * parse.y: Update for '&&'; don't issue warning here. * semantics.c (finish_label_expr): Delete. From-SVN: r41958
Diffstat (limited to 'gcc')
-rw-r--r--gcc/cp/ChangeLog6
-rw-r--r--gcc/cp/cp-tree.h2
-rw-r--r--gcc/cp/parse.y4
-rw-r--r--gcc/cp/semantics.c25
4 files changed, 7 insertions, 30 deletions
diff --git a/gcc/cp/ChangeLog b/gcc/cp/ChangeLog
index 37acdde..e80ec37 100644
--- a/gcc/cp/ChangeLog
+++ b/gcc/cp/ChangeLog
@@ -1,3 +1,9 @@
+2001-05-11 Neil Booth <neil@daikokuya.demon.co.uk>
+
+ * cp-tree.h (finish_label_expr, lookup_label): Delete.
+ * parse.y: Update for '&&'; don't issue warning here.
+ * semantics.c (finish_label_expr): Delete.
+
2001-05-07 Mark Mitchell <mark@codesourcery.com>
* splay-tree.h (splay_tree_max): New function.
diff --git a/gcc/cp/cp-tree.h b/gcc/cp/cp-tree.h
index e1b9361..c2ef391 100644
--- a/gcc/cp/cp-tree.h
+++ b/gcc/cp/cp-tree.h
@@ -3791,7 +3791,6 @@ extern tree push_using_decl PARAMS ((tree, tree));
extern tree push_using_directive PARAMS ((tree));
extern void push_class_level_binding PARAMS ((tree, tree));
extern tree implicitly_declare PARAMS ((tree));
-extern tree lookup_label PARAMS ((tree));
extern tree declare_local_label PARAMS ((tree));
extern tree define_label PARAMS ((const char *, int, tree));
extern void check_goto PARAMS ((tree));
@@ -4269,7 +4268,6 @@ extern tree finish_object_call_expr PARAMS ((tree, tree, tree));
extern tree finish_qualified_object_call_expr PARAMS ((tree, tree, tree));
extern tree finish_pseudo_destructor_call_expr PARAMS ((tree, tree, tree));
extern tree finish_qualified_call_expr PARAMS ((tree, tree));
-extern tree finish_label_address_expr PARAMS ((tree));
extern tree finish_unary_op_expr PARAMS ((enum tree_code, tree));
extern tree finish_id_expr PARAMS ((tree));
extern void save_type_access_control PARAMS ((tree));
diff --git a/gcc/cp/parse.y b/gcc/cp/parse.y
index 22b3e95..70525e0 100644
--- a/gcc/cp/parse.y
+++ b/gcc/cp/parse.y
@@ -1224,9 +1224,7 @@ unary_expr:
{ $$ = finish_unary_op_expr ($1, $2); }
/* Refer to the address of a label as a pointer. */
| ANDAND identifier
- { if (pedantic)
- pedwarn ("ISO C++ forbids `&&'");
- $$ = finish_label_address_expr ($2); }
+ { $$ = finish_label_address_expr ($2); }
| SIZEOF unary_expr %prec UNARY
{ $$ = expr_sizeof ($2); }
| SIZEOF '(' type_id ')' %prec HYPERUNARY
diff --git a/gcc/cp/semantics.c b/gcc/cp/semantics.c
index 8b7e99b..21290fe 100644
--- a/gcc/cp/semantics.c
+++ b/gcc/cp/semantics.c
@@ -1491,31 +1491,6 @@ finish_qualified_call_expr (fn, args)
args);
}
-/* Finish an expression taking the address of LABEL. Returns an
- expression for the address. */
-
-tree
-finish_label_address_expr (label)
- tree label;
-{
- tree result;
-
- label = lookup_label (label);
- if (label == NULL_TREE)
- result = null_pointer_node;
- else
- {
- TREE_USED (label) = 1;
- result = build1 (ADDR_EXPR, ptr_type_node, label);
- TREE_CONSTANT (result) = 1;
- /* This function cannot be inlined. All jumps to the addressed
- label should wind up at the same point. */
- DECL_UNINLINABLE (current_function_decl) = 1;
- }
-
- return result;
-}
-
/* Finish an expression of the form CODE EXPR. */
tree