[LLVMbugs] [Bug 6594] New: False error: template argument for template type parameter must be a type

bugzilla-daemon at llvm.org bugzilla-daemon at llvm.org
Fri Mar 12 05:40:40 PST 2010


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

           Summary: False error: template argument for template type
                    parameter must be a type
           Product: clang
           Version: trunk
          Platform: Macintosh
        OS/Version: MacOS X
            Status: NEW
          Severity: normal
          Priority: P
         Component: C++
        AssignedTo: unassignedclangbugs at nondot.org
        ReportedBy: Fons.Rademakers at cern.ch
                CC: llvmbugs at cs.uiuc.edu, dgregor at apple.com


Created an attachment (id=4491)
 --> (http://llvm.org/bugs/attachment.cgi?id=4491)
Source file exhibiting the problem

The attached aap.cxx compiles fine with g++ (and for that matter any other know
compiler), but not with clang++. Do:

clang++ -c aap.cxx
In file included from cint/reflex/src/ClassBuilder.cxx:16:
include/Reflex/Builder/ClassBuilder.h:465:63: error: template argument for
      template type parameter must be a type
   fClassBuilderImpl.AddFunctionMember(nam, FunctionDistiller<F>...
                                                              ^
In file included from cint/reflex/src/ClassBuilder.cxx:16:
In file included from include/Reflex/Builder/ClassBuilder.h:20:
include/Reflex/Builder/TypeBuilder.h:931:20: note: template parameter is
      declared here
template <typename S> class FunctionDistiller;
                   ^
In file included from cint/reflex/src/ClassBuilder.cxx:16:
include/Reflex/Builder/ClassBuilder.h:461:54: warning: unused parameter
'stubFP'
      [-Wunused-parameter]
                                        StubFunction stubFP,
                                                     ^
include/Reflex/Builder/ClassBuilder.h:462:47: warning: unused parameter
      'stubCtx' [-Wunused-parameter]
                                        void* stubCtx,
                                              ^
include/Reflex/Builder/ClassBuilder.h:463:53: warning: unused parameter
'params'
      [-Wunused-parameter]
                                        const char* params,
                                                    ^
include/Reflex/Builder/ClassBuilder.h:464:54: warning: unused parameter
      'modifiers' [-Wunused-parameter]
                                        unsigned int modifiers) {
                                                     ^
include/Reflex/Builder/ClassBuilder.h:561:63: error: template argument for
      template type parameter must be a type
   fClassBuilderImpl.AddFunctionMember(nam, FunctionDistiller<F>...
                                                              ^
In file included from cint/reflex/src/ClassBuilder.cxx:16:
In file included from include/Reflex/Builder/ClassBuilder.h:20:
include/Reflex/Builder/TypeBuilder.h:931:20: note: template parameter is
      declared here
template <typename S> class FunctionDistiller;
                   ^
In file included from cint/reflex/src/ClassBuilder.cxx:16:
include/Reflex/Builder/ClassBuilder.h:557:35: warning: unused parameter
'stubFP'
      [-Wunused-parameter]
                     StubFunction stubFP,
                                  ^
include/Reflex/Builder/ClassBuilder.h:558:28: warning: unused parameter
      'stubCtx' [-Wunused-parameter]
                     void* stubCtx,
                           ^
include/Reflex/Builder/ClassBuilder.h:559:34: warning: unused parameter
'params'
      [-Wunused-parameter]
                     const char* params,
                                 ^
include/Reflex/Builder/ClassBuilder.h:560:35: warning: unused parameter
      'modifiers' [-Wunused-parameter]
                     unsigned int modifiers) {
                                  ^
12 diagnostics generated.
(proof) [343] g++ -g -m64 -pipe -W -Wall -Woverloaded-virtual -fsigned-char
-fno-common -Iinclude   -D_REENTRANT -pthread -o cint/reflex/src/ClassBuilder.o
-c cint/reflex/src/ClassBuilder.cxx
(proof) [344] clang++ -g -m64 -pipe -W -Wall -Woverloaded-virtual -fsigned-char
-fno-common -Iinclude   -D_REENTRANT -pthread -E -o aap.cxx
cint/reflex/src/ClassBuilder.cxx
(proof) [345] clang++ -c aap
clang: error: no such file or directory: 'aap'
clang: error: no input files
(proof) [346] clang++ -c aap.cxx
In file included from cint/reflex/src/ClassBuilder.cxx:1:
In file included from cint/reflex/src/ClassBuilder.cxx:16:
include/Reflex/Builder/ClassBuilder.h:465:63: error: template argument for
      template type parameter must be a type
   fClassBuilderImpl.AddFunctionMember(nam, FunctionDistiller<F>...
                                                              ^
In file included from cint/reflex/src/ClassBuilder.cxx:1:
In file included from cint/reflex/src/ClassBuilder.cxx:16:
In file included from include/Reflex/Builder/ClassBuilder.h:20:
include/Reflex/Builder/TypeBuilder.h:931:20: note: template parameter is
      declared here
template <typename S> class FunctionDistiller;
                   ^
In file included from cint/reflex/src/ClassBuilder.cxx:1:
In file included from cint/reflex/src/ClassBuilder.cxx:16:
include/Reflex/Builder/ClassBuilder.h:561:63: error: template argument for
      template type parameter must be a type
   fClassBuilderImpl.AddFunctionMember(nam, FunctionDistiller<F>...
                                                              ^
In file included from cint/reflex/src/ClassBuilder.cxx:1:
In file included from cint/reflex/src/ClassBuilder.cxx:16:
In file included from include/Reflex/Builder/ClassBuilder.h:20:
include/Reflex/Builder/TypeBuilder.h:931:20: note: template parameter is
      declared here
template <typename S> class FunctionDistiller;
                   ^
4 diagnostics generated.

No errors compiling with g++.

Cheers, Fons.

-- 
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