decl.c (grokmethod): Test DECL_CLASS_SCOPE_P.
authorNathan Froyd <froydnj@codesourcery.com>
Fri, 10 Dec 2010 16:06:30 +0000 (16:06 +0000)
committerNathan Froyd <froydnj@gcc.gnu.org>
Fri, 10 Dec 2010 16:06:30 +0000 (16:06 +0000)
* decl.c (grokmethod): Test DECL_CLASS_SCOPE_P.
* error.c (dump_decl): Test DECL_FILE_SCOPE_P.

From-SVN: r167691

gcc/cp/ChangeLog
gcc/cp/decl.c
gcc/cp/error.c

index de7160fd469e1df1d62adbd9e69fa85ec0fc7a60..4b060564412c5ea6c3901ddb806446d7f778bf54 100644 (file)
@@ -1,3 +1,8 @@
+2010-12-10  Nathan Froyd  <froydnj@codesourcery.com>
+
+       * decl.c (grokmethod): Test DECL_CLASS_SCOPE_P.
+       * error.c (dump_decl): Test DECL_FILE_SCOPE_P.
+
 2010-12-10  Nathan Froyd  <froydnj@codesourcery.com>
 
        * cp-tree.h (readonly_error_kind): Delete.
index b72b5884b7cbf7ff7f381e119953fa4ad38e695b..b75a13e2de3fed2812d0c3d5b60f9694c85b7351 100644 (file)
@@ -13098,8 +13098,7 @@ grokmethod (cp_decl_specifier_seq *declspecs,
 
   if (DECL_IN_AGGR_P (fndecl))
     {
-      if (DECL_CONTEXT (fndecl)
-         && TREE_CODE (DECL_CONTEXT (fndecl)) != NAMESPACE_DECL)
+      if (DECL_CLASS_SCOPE_P (fndecl))
        error ("%qD is already defined in class %qT", fndecl,
               DECL_CONTEXT (fndecl));
       return error_mark_node;
index 4fb47dc3b176d74b1cda6bc0412043b6f4e75f83..e1bac244418f5599a90570ede4edaa8504ff39a9 100644 (file)
@@ -1027,7 +1027,7 @@ dump_decl (tree t, int flags)
              dump_type (DECL_CONTEXT (t), flags);
              pp_cxx_colon_colon (cxx_pp);
            }
-         else if (DECL_CONTEXT (t))
+         else if (!DECL_FILE_SCOPE_P (t))
            {
              dump_decl (DECL_CONTEXT (t), flags);
              pp_cxx_colon_colon (cxx_pp);