http://llvm.org/bugs/show_bug.cgi?id=15362

            Bug ID: 15362
           Summary: clang++ incorrectly accepts "typename" in
                    "using-declaration" without a nested-name-specifier
           Product: clang
           Version: 3.1
          Hardware: PC
                OS: Windows NT
            Status: NEW
          Severity: enhancement
          Priority: P
         Component: C++
          Assignee: [email protected]
          Reporter: [email protected]
                CC: [email protected], [email protected]
    Classification: Unclassified

According to the C++11 standard, the production of the rule using-declaration
is:

 using typename[opt] nested-name-specifier unqualified-id ;
 using :: unqualified-id ;

But it seems that clang (3.1 at least) accepts also this syntax:

 using typename :: unqualified-id ;

Which is not part of the standard.

The following little code illustrates this:

typedef int T;
namespace foo {
  int T;
  namespace bar {
    using typename ::T; // < this should be rejected because of the presence of
'typename'
    T a;
  }
}

-- 
You are receiving this mail because:
You are on the CC list for the bug.
_______________________________________________
LLVMbugs mailing list
[email protected]
http://lists.cs.uiuc.edu/mailman/listinfo/llvmbugs

Reply via email to