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

            Bug ID: 41010
           Summary: Creating vector literals from smaller vector literals
                    doesn't work with -cl-std=c++
           Product: clang
           Version: trunk
          Hardware: PC
                OS: Linux
            Status: NEW
          Severity: enhancement
          Priority: P
         Component: OpenCL
          Assignee: unassignedclangb...@nondot.org
          Reporter: kevin.pe...@arm.com
                CC: anastasia.stul...@arm.com, llvm-bugs@lists.llvm.org

Trying to compile the following test program:

-------------------------------------------------------
kernel void test(__global float4 *out)
{
    float4 a = (float4)(1.0f, 2.0f, 3.0f, 4.0f);
    float4 v = (float4)(a.s23, a.s01);
    *out = v;
}
-------------------------------------------------------

with the following command line (rev 355676):

clang -cc1 -triple spir64-unknown-unknown -finclude-default-header -emit-llvm
-x cl -cl-std=c++ test.cl

leads to the following error:

-------------------------------------------------------
test.cl:5:25: error: cannot initialize a vector element of type 'float' with an
lvalue of type 'float2' (vector of 2 'float' values)
    float4 v = (float4)(a.s23, a.s01);
                        ^~~~~
test.cl:5:32: error: cannot initialize a vector element of type 'float' with an
lvalue of type 'float2' (vector of 2 'float' values)
    float4 v = (float4)(a.s23, a.s01);
                               ^~~~~
2 errors generated.
-------------------------------------------------------

-- 
You are receiving this mail because:
You are on the CC list for the bug.
_______________________________________________
llvm-bugs mailing list
llvm-bugs@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-bugs

Reply via email to