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

           Summary: Elaborated type specifiers in argument lists/return
                    types aren't declarations
           Product: clang
           Version: unspecified
          Platform: All
        OS/Version: All
            Status: NEW
          Keywords: compile-fail
          Severity: minor
          Priority: P2
         Component: Semantic Analyzer
        AssignedTo: [EMAIL PROTECTED]
        ReportedBy: [EMAIL PROTECTED]
                CC: [email protected]


C++ 3.3.1p5 says:

   [...] for an elaborated-type-specifier of the form
      class-key identifier
   if the e-t-s is used in the decl-specifier-seq or
parameter-declaration-clause
   of a function defined in namespace scope, the identifier is declared as a
   class-name in the namespace that contains the declaration;

In other words, the following should compile:

void f(class A*);
void g()
{
  A* a;
}

G++ compiles it, clang does not.


-- 
Configure bugmail: http://llvm.org/bugs/userprefs.cgi?tab=email
------- 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