re PR c++/43033 (--enable-checking=valgrind C++ failures)
authorJakub Jelinek <jakub@redhat.com>
Fri, 12 Feb 2010 17:26:12 +0000 (18:26 +0100)
committerJakub Jelinek <jakub@gcc.gnu.org>
Fri, 12 Feb 2010 17:26:12 +0000 (18:26 +0100)
PR c++/43033
* name-lookup.c (pushdecl_maybe_friend): Check default args of t
instead of x.

* g++.dg/other/default3.C: Xfail g4 test.

From-SVN: r156734

gcc/cp/ChangeLog
gcc/cp/name-lookup.c
gcc/testsuite/ChangeLog
gcc/testsuite/g++.dg/other/default3.C

index f42f59e5ce6d2c0662abb1ac5cdc7d8090507e21..18d12325bfeafde89d83a606302934d9d10ac8cc 100644 (file)
@@ -1,3 +1,9 @@
+2010-02-12  Jakub Jelinek  <jakub@redhat.com>
+
+       PR c++/43033
+       * name-lookup.c (pushdecl_maybe_friend): Check default args of t
+       instead of x.
+
 2010-02-10  Jason Merrill  <jason@redhat.com>
 
        PR c++/41896
index 8f693464875c473a7f713230317aede111d2676c..1f595c0eb92b31101166ea08dfdb09a9874532e2 100644 (file)
@@ -1,5 +1,5 @@
 /* Definitions for C++ name lookup routines.
-   Copyright (C) 2003, 2004, 2005, 2006, 2007, 2008, 2009
+   Copyright (C) 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010
    Free Software Foundation, Inc.
    Contributed by Gabriel Dos Reis <gdr@integrable-solutions.net>
 
@@ -853,8 +853,8 @@ pushdecl_maybe_friend (tree x, bool is_friend)
            add_decl_to_level (x, NAMESPACE_LEVEL (CP_DECL_CONTEXT (t)));
        }
 
-      if (TREE_CODE (x) == FUNCTION_DECL || DECL_FUNCTION_TEMPLATE_P (x))
-       check_default_args (x);
+      if (TREE_CODE (t) == FUNCTION_DECL || DECL_FUNCTION_TEMPLATE_P (t))
+       check_default_args (t);
 
       if (t != x || DECL_FUNCTION_TEMPLATE_P (t))
        POP_TIMEVAR_AND_RETURN (TV_NAME_LOOKUP, t);
index 502f048c70a524ebb06e5510fc2220ae8f8a722c..b93be3d30fddd07173a37e3df3a01da6a81aa70b 100644 (file)
@@ -3,6 +3,9 @@
        * gcc.dg/guality/guality.h (GUALCVT): Zero extend instead of
        sign extend pointers to gualchk_t.
 
+       PR c++/43033
+       * g++.dg/other/default3.C: Xfail g4 test.
+
 2010-02-11  Sebastian Pop  <sebastian.pop@amd.com>
 
        PR middle-end/43012
index 324ba7146fe10ad599e5d61223919eb89c8aceae..559cb11265d07f7ec51cafb5e0c92ec51bc38ff3 100644 (file)
@@ -25,7 +25,7 @@ template<typename> void g3(int, int);
 template<typename> void g3(int = 0, int);    // { dg-error "default" }
 
 template<typename> void g4(int, int);
-template<typename> void g4(int = 0, int) {}  // { dg-error "default" }
+template<typename> void g4(int = 0, int) {}  // { dg-error "default" "" { xfail *-*-* } }
 
 template<typename> void g5();
 template<typename> void g5(int = 0, int);    // { dg-error "default" }