https://bugs.llvm.org/show_bug.cgi?id=38603
Bug ID: 38603
Summary: [OpenCL C++] Template parameters are broken due to
address space changes
Product: clang
Version: trunk
Hardware: PC
OS: Windows NT
Status: NEW
Severity: enhancement
Priority: P
Component: OpenCL
Assignee: unassignedclangb...@nondot.org
Reporter: erich.ke...@intel.com
CC: llvm-bugs@lists.llvm.org
I haven't been able to run this down, but when parsing a scoped declarator, the
lookup for types don't work:
https://godbolt.org/g/b3JpJb
template <typename _Tp>
struct integral_constant{
void foo();
};
template<typename _Tp>
void integral_constant<_Tp>::foo() {}
<source>:7:30: error: nested name specifier 'integral_constant<_Tp>::' for
declaration does not refer into a class, class template or class template
partial specialization
void integral_constant<_Tp>::foo() {}
The address-space changes are somehow messing with canonicalization of the
template parameter itself, thus the lookup for integral_constant<_Tp> doesn't
work correctly.
--
You are receiving this mail because:
You are on the CC list for the bug.
_______________________________________________
llvm-bugs mailing list
llvm-bugs@lists.llvm.org
http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-bugs