[LLVMbugs] [Bug 3184] New: Elaborated type specifiers in argument lists/ return types aren't declarations

bugzilla-daemon at cs.uiuc.edu bugzilla-daemon at cs.uiuc.edu
Mon Dec 8 07:08:03 PST 2008


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: unassignedclangbugs at nondot.org
        ReportedBy: sebastian.redl at getdesigned.at
                CC: llvmbugs at cs.uiuc.edu


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.



More information about the llvm-bugs mailing list