diff options
author | Paolo Carlini <paolo.carlini@oracle.com> | 2014-06-11 17:28:14 +0000 |
---|---|---|
committer | Paolo Carlini <paolo@gcc.gnu.org> | 2014-06-11 17:28:14 +0000 |
commit | c7bb3484a24f6770e7633d38f3b1f7dcc46da6bb (patch) | |
tree | a13ca20c4488d616d38d1d94805c0aab49bae835 /gcc/cp/parser.c | |
parent | 37251385bf1e4d1704f23a5ef0a99a77596b10f0 (diff) | |
download | gcc-c7bb3484a24f6770e7633d38f3b1f7dcc46da6bb.zip gcc-c7bb3484a24f6770e7633d38f3b1f7dcc46da6bb.tar.gz gcc-c7bb3484a24f6770e7633d38f3b1f7dcc46da6bb.tar.bz2 |
re PR c++/60265 ([C++11] using-declaration of enumerator fails if fully qualified)
/cp
2014-06-11 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/60265
* parser.c (cp_parser_using_declaration): Handle unscoped enums.
* name-lookup.c (validate_nonmember_using_decl): Adjust error
message.
/testsuite
2014-06-11 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/60265
* g++.dg/cpp0x/using-enum-1.C: New.
* g++.dg/cpp0x/using-enum-2.C: Likewise.
From-SVN: r211479
Diffstat (limited to 'gcc/cp/parser.c')
-rw-r--r-- | gcc/cp/parser.c | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/gcc/cp/parser.c b/gcc/cp/parser.c index 22d7ba6..4dff139 100644 --- a/gcc/cp/parser.c +++ b/gcc/cp/parser.c @@ -16022,6 +16022,8 @@ cp_parser_using_declaration (cp_parser* parser, /*is_declaration=*/true); if (!qscope) qscope = global_namespace; + else if (UNSCOPED_ENUM_P (qscope)) + qscope = CP_TYPE_CONTEXT (qscope); if (access_declaration_p && cp_parser_error_occurred (parser)) /* Something has already gone wrong; there's no need to parse |