[llvm-bugs] [Bug 38603] New: [OpenCL C++] Template parameters are broken due to address space changes

via llvm-bugs llvm-bugs at lists.llvm.org
Thu Aug 16 10:58:26 PDT 2018


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: unassignedclangbugs at nondot.org
          Reporter: erich.keane at intel.com
                CC: llvm-bugs at 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.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-bugs/attachments/20180816/d22632f9/attachment.html>


More information about the llvm-bugs mailing list