[llvm-bugs] [Bug 44177] New: Constexpr array not seen as constexpr

via llvm-bugs llvm-bugs at lists.llvm.org
Thu Nov 28 22:40:15 PST 2019


https://bugs.llvm.org/show_bug.cgi?id=44177

            Bug ID: 44177
           Summary: Constexpr array not seen as constexpr
           Product: clang
           Version: trunk
          Hardware: PC
                OS: Linux
            Status: NEW
          Severity: enhancement
          Priority: P
         Component: OpenCL
          Assignee: unassignedclangbugs at nondot.org
          Reporter: drohr at jwdt.org
                CC: anastasia.stulova at arm.com, llvm-bugs at lists.llvm.org

Created attachment 22880
  --> https://bugs.llvm.org/attachment.cgi?id=22880&action=edit
Testcase

The attached code (which works correctly with standard C++, and also with CUDA)
fails in OpenCL because the constexpr array zSize is not interpreted as
constexpr.

Command to reproduce:
clang++ -cl-std=clc++ -Xclang -finclude-default-header -o test test2.cl

Error message:
test2.cl:54:57: error: constexpr function never produces a constant expression
[-Winvalid-constexpr]
GPU_HOST_DEVICE constexpr GPUArray<float, LayersNumber> InverseZBinSize()
                                                        ^
test2.cl:57:57: note: subexpression not valid in a constant expression
  return GPUArray<float, LayersNumber>{{0.5f * ZBins / (zSize[0]), 0.5f * ZBins
/ (zSize[1]), 0.5f * ZBins / (zSize[2]),

-- 
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/20191129/dcf6e0d5/attachment.html>


More information about the llvm-bugs mailing list