http://llvm.org/bugs/show_bug.cgi?id=7056
Summary: Confusion by friend declaration of global template
function
Product: clang
Version: trunk
Platform: PC
OS/Version: Linux
Status: NEW
Severity: normal
Priority: P
Component: C++
AssignedTo: [email protected]
ReportedBy: [email protected]
CC: [email protected], [email protected]
Found with Loki.
Disable definition in /include/loki/SmartPtr.h line 54:
//#define LOKI_ENABLE_FRIEND_TEMPLATE_TEMPLATE_PARAMETER_WORKAROUND
Build test/SmartPtr/main.cpp
main.cpp:1326:5: error: call to 'Release' is ambiguous
Release( w1, pNull );
^~~~~~~
In file included from main.cpp:18:
../../include/loki/SmartPtr.h:1386:21: note: candidate function
[with $0 = BaseClass, OP1 = RefCounted, $2 = Loki::DisallowConversion,
KP1 = AssertCheck, SP1 = DefaultSPStorage, CNP1 = DontPropagateConst]
friend void Release(SmartPtr<T1, OP1, CP1, KP1, SP1, CNP1>& sp,
^
../../include/loki/SmartPtr.h:1586:17: note: candidate function [with T =
BaseClass, OP = RefCounted, CP = Loki::DisallowConversion, KP = AssertCheck, SP
= DefaultSPStorage, CNP = DontPropagateConst]
inline void Release(SmartPtr<T, OP, CP, KP, SP, CNP>& sp,
^
The first declaration is only a friend declaration.
--
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