Commit 6e4f01ff by Paolo Carlini

re PR c++/60894 (Use of redundant struct keyword in function prototype combined…

re PR c++/60894 (Use of redundant struct keyword in function prototype combined with using statement causes compilation error)

/cp
2015-02-13  Paolo Carlini  <paolo.carlini@oracle.com>

	PR c++/60894
	* decl.c (lookup_and_check_tag): Use strip_using_decl.

/testsuite
2015-02-13  Paolo Carlini  <paolo.carlini@oracle.com>

	PR c++/60894
	* g++.dg/lookup/using54.C: New.

From-SVN: r220702
parent c7a28c1b
2015-02-13 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/60894
* decl.c (lookup_and_check_tag): Use strip_using_decl.
2015-02-13 Jason Merrill <jason@redhat.com>
PR c++/65054
......
......@@ -12205,6 +12205,7 @@ lookup_and_check_tag (enum tag_types tag_code, tree name,
/* First try ordinary name lookup, ignoring hidden class name
injected via friend declaration. */
decl = lookup_name_prefer_type (name, 2);
decl = strip_using_decl (decl);
/* If that fails, the name will be placed in the smallest
non-class, non-function-prototype scope according to 3.3.1/5.
We may already have a hidden name declared as friend in this
......
2015-02-13 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/60894
* g++.dg/lookup/using54.C: New.
2015-02-13 Jeff Law <law@redhat.com>
PR bootstrap/65060
......@@ -17,7 +22,7 @@
2015-02-13 Jeff Law <law@redhat.com>
PR tree-optimization/64823
gcc.dg/uninit-20.c: New test.
* gcc.dg/uninit-20.c: New test.
PR rtl-optimization/47477
* gcc.dg/tree-ssa/pr47477.c: New test.
......
// PR c++/60894
struct B
{
struct S {};
};
struct D : B
{
using B::S;
void doIt(struct S&);
};
void D::doIt(struct S&)
{
}
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