[LLVMbugs] [Bug 7057] New: Too early resolving of template argument's member functions

bugzilla-daemon at llvm.org bugzilla-daemon at llvm.org
Wed May 5 10:17:30 PDT 2010


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

           Summary: Too early resolving of template argument's member
                    functions
           Product: clang
           Version: trunk
          Platform: PC
        OS/Version: Linux
            Status: NEW
          Severity: normal
          Priority: P
         Component: C++
        AssignedTo: unassignedclangbugs at nondot.org
        ReportedBy: syntheticpp at gmx.net
                CC: llvmbugs at cs.uiuc.edu, dgregor at apple.com


Found with Loki.

Disable definition in /include/loki/SmartPtr.h line 54:
//#define LOKI_ENABLE_FRIEND_TEMPLATE_TEMPLATE_PARAMETER_WORKAROUND

Call 'make -k" in test/SmartPtr.

clang++ output:

In file included from LockTest.cpp:38:                                          
../../include/loki/StrongPtr.h:1495:15: error: 'T' does not refer to a value
  if ( !sp.RP<T>::OnReleaseAll( sp.IsStrong() || sp.OP::HasStrongPointer() ) )
              ^
../../include/loki/StrongPtr.h:1483:14: note: declared here                     
    typename T,
             ^

clang++ tries to find 'sp.RP<T>::OnReleaseAll' which does not work without
an concrete type T. Should the resolving of T's member functions not be done at
instantiation time? 
Or there are problems with parsing 'foo.ABC<T>::XYZ'.

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