cp-tree.h (finish_label_expr, [...]): Delete.
authorNeil Booth <neil@daikokuya.demon.co.uk>
Fri, 11 May 2001 06:35:10 +0000 (06:35 +0000)
committerNeil Booth <neil@gcc.gnu.org>
Fri, 11 May 2001 06:35:10 +0000 (06:35 +0000)
* 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

gcc/cp/ChangeLog
gcc/cp/cp-tree.h
gcc/cp/parse.y
gcc/cp/semantics.c

index 37acdde8e69bcee97e1750a401e5c41e4f5c7195..e80ec37933fa3d8799303086e05bb1044f207222 100644 (file)
@@ -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.
index e1b93616aa8c366739674ee79b8d45ecd66eee1e..c2ef39110d0dea1d10c6c4a17a64f224715b1c53 100644 (file)
@@ -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));
index 22b3e9583a7320f079b4406dcf2113e622e01345..70525e00fcb4112939593cdde93bffb101a77e4f 100644 (file)
@@ -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
index 8b7e99bef2cb0d8be02df673033c66ab2fb8ae32..21290fe6b6d54f1bbf365c65d3ebb04e5dd4bc3b 100644 (file)
@@ -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