except.c (expand_throw): Use TYPE_PTR_P to check for pointers.
authorJason Merrill <jason@yorick.cygnus.com>
Wed, 25 Nov 1998 11:28:29 +0000 (11:28 +0000)
committerJason Merrill <jason@gcc.gnu.org>
Wed, 25 Nov 1998 11:28:29 +0000 (06:28 -0500)
* except.c (expand_throw): Use TYPE_PTR_P to check for pointers.
* decl.c (check_tag_decl): Do complain about null friend decl at
file scope.

From-SVN: r23856

gcc/cp/ChangeLog
gcc/cp/decl.c
gcc/cp/except.c

index 940d106dedc938bbcff7af221539e022011598fc..ea94e160a7bf662c74771755be1632c4fd3a841e 100644 (file)
@@ -1,3 +1,10 @@
+1998-11-25  Jason Merrill  <jason@yorick.cygnus.com>
+
+       * except.c (expand_throw): Use TYPE_PTR_P to check for pointers.
+
+       * decl.c (check_tag_decl): Do complain about null friend decl at
+       file scope.
+
 1998-11-25  Andreas Schwab  <schwab@issan.cs.uni-dortmund.de>
 
        * lex.c (make_lang_type): Clear the whole struct lang_type, not
index 94173636b281ad60cf7a42b4040da4ca80ca1e13..2f48d3b2df2eeaecdcac602c92743e4153f482d8 100644 (file)
@@ -6483,10 +6483,11 @@ check_tag_decl (declspecs)
        }
       else if (value == ridpointers[(int) RID_FRIEND])
        {
-         friendp = 1;
          if (current_class_type == NULL_TREE
              || current_scope () != current_class_type)
            ob_modifier = value;
+         else
+           friendp = 1;
        }
       else if (value == ridpointers[(int) RID_STATIC]
               || value == ridpointers[(int) RID_EXTERN]
index 7da22cdd73e543f321d5bae1a475f826dfab2774..7198689940bf5d633ed9b9de09b71f1ccd4baa38 100644 (file)
@@ -996,7 +996,7 @@ expand_throw (exp)
          pop_obstacks ();
        }
 
-      if (TREE_CODE (TREE_TYPE (exp)) == POINTER_TYPE)
+      if (TYPE_PTR_P (TREE_TYPE (exp)))
        throw_type = build_eh_type (exp);
       else
        {