Commit 2e034e32 by Jakub Jelinek Committed by Jakub Jelinek

re PR c++/43033 (--enable-checking=valgrind C++ failures)

	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
parent c3ac110f
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> 2010-02-10 Jason Merrill <jason@redhat.com>
PR c++/41896 PR c++/41896
......
/* Definitions for C++ name lookup routines. /* 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. Free Software Foundation, Inc.
Contributed by Gabriel Dos Reis <gdr@integrable-solutions.net> Contributed by Gabriel Dos Reis <gdr@integrable-solutions.net>
...@@ -853,8 +853,8 @@ pushdecl_maybe_friend (tree x, bool is_friend) ...@@ -853,8 +853,8 @@ pushdecl_maybe_friend (tree x, bool is_friend)
add_decl_to_level (x, NAMESPACE_LEVEL (CP_DECL_CONTEXT (t))); add_decl_to_level (x, NAMESPACE_LEVEL (CP_DECL_CONTEXT (t)));
} }
if (TREE_CODE (x) == FUNCTION_DECL || DECL_FUNCTION_TEMPLATE_P (x)) if (TREE_CODE (t) == FUNCTION_DECL || DECL_FUNCTION_TEMPLATE_P (t))
check_default_args (x); check_default_args (t);
if (t != x || DECL_FUNCTION_TEMPLATE_P (t)) if (t != x || DECL_FUNCTION_TEMPLATE_P (t))
POP_TIMEVAR_AND_RETURN (TV_NAME_LOOKUP, t); POP_TIMEVAR_AND_RETURN (TV_NAME_LOOKUP, t);
......
...@@ -3,6 +3,9 @@ ...@@ -3,6 +3,9 @@
* gcc.dg/guality/guality.h (GUALCVT): Zero extend instead of * gcc.dg/guality/guality.h (GUALCVT): Zero extend instead of
sign extend pointers to gualchk_t. 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> 2010-02-11 Sebastian Pop <sebastian.pop@amd.com>
PR middle-end/43012 PR middle-end/43012
......
...@@ -25,7 +25,7 @@ template<typename> void g3(int, int); ...@@ -25,7 +25,7 @@ template<typename> void g3(int, int);
template<typename> void g3(int = 0, int); // { dg-error "default" } template<typename> void g3(int = 0, int); // { dg-error "default" }
template<typename> void g4(int, int); 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();
template<typename> void g5(int = 0, int); // { dg-error "default" } template<typename> void g5(int = 0, int); // { dg-error "default" }
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment