<table border="1" cellspacing="0" cellpadding="8">
    <tr>
        <th>Issue</th>
        <td>
            <a href=https://github.com/llvm/llvm-project/issues/54248>54248</a>
        </td>
    </tr>

    <tr>
        <th>Summary</th>
        <td>
            Constant statement expression stop being supported in clang 12 for OpenCL
        </td>
    </tr>

    <tr>
      <th>Labels</th>
      <td>
            new issue
      </td>
    </tr>

    <tr>
      <th>Assignees</th>
      <td>
      </td>
    </tr>

    <tr>
      <th>Reporter</th>
      <td>
          mnaczk
      </td>
    </tr>
</table>

<pre>
    This code below was successfully compiled till Clang 11.0.1

`kernel void test()
{
    const int size = ({ false; }) ? 0 : 1;
    float array[size];
}`

Error log:
`<source>:4:17: error: variable length arrays are not supported in OpenCL
    float array[size];
                ^~~~
<source>:4:17: note: initializer of 'size' is not a constant expression
<source>:3:15: note: declared here
    const int size = ({ false; }) ? 0 : 1;
              ^
1 error generated.
Compiler returned: 1`

The above code still works for C++ and C.

### **Reproduction.**

**Not working case:**
1. Compiler: x86-64 clang 12.0.0 https://godbolt.org/z/daxzGWE39
arguments -c -x cl -emit-llvm -O0 -S -Xclang  -finclude-default-header 

**Working cases**
1. OpenCL with Clang 11 https://godbolt.org/z/oTKaf9a76
Compiler: x86-64 clang 11.0.1 
arguments -c -x cl -emit-llvm -O0 -S -Xclang  -finclude-default-header 
2. C++ with Clang 12 https://godbolt.org/z/MbdErG9PP
Compiler: x86-64 clang 12.0.0 
arguments -c -emit-llvm -O0 -S -Xclang  -finclude-default-header 
3. C with Clang 12 https://godbolt.org/z/e7Eb5185o
Compiler: x86-64 clang 12.0.0 
arguments -c -x c -emit-llvm -O0 -S -Xclang  -finclude-default-header 
</pre>
<img width="1px" height="1px" alt="" src="http://email.email.llvm.org/o/eJy1VV1zmzoQ_TX4ZQcGxJd54CF2nD70c9rMpK8CLViNjDySiJP8-q4gTu20ndybuZcRAiRx9uzZXanR4qG-3koLrRYIDSp9gAO3YMe2RWu7UakHmtvtpUIBTioFa8WHHpIkiqMkiC-D-OKpL-JbNAMquNOS1qJ1AVsGrHqaLlfzC9DV6sE6kIMDKx8RgvQS_NpyBR1XFoN0BUF5Sf_S1BXE1F9AQqO_EDqluQNuDH8I8pVHCfLL5xX-5yI-ZbcxRhtQuieoZ75BurZ6NC0Z3NB4RndSelvoV_uXO24kbxSCwqF329mgpQfCoIn9uN9r40gaOcDnPQ7rD_-UIry4gnwTlMc2E_wbO7KM_ikH6SRXBGxAd6RgORlhJVBAPT0-C81JZ7zfGwqo1MMfwVMPnp-CC2wVuSlgiwb_y8iduzwNJ7Pg0OOAhpOc0Ty-nhPPgEE3UmqJGe08stdbBN7oO5xz2E5JetDm1kJHmOuAragBHwSso7OEZencyAP6uPiKe6PF2DoSKZqHzpf79olk9eCSaqDl3uGL06VJBEfSnuv9sgiLDNq5ZBiVTAxb5_Z2-u2KWq9Fo5WLtOnp65Fuwe8f391s0qe64aYfdzg4C2EL4T1hQYg76UKl7nYQfo4h_Abh99kEhJ0cWjUKDAV2fFQu3CIXpODvntyceGFf-DCnMhwkpfyx3l8lrq_f867iZXEevN91mLYO-B_cY9FzuE-ps1epf2zExryrvnx5jfocwj9RfzPplEj_S7pYbpo8Web67XRJ6TdxXog6FVVa8YWTTmG9Pm4w1Dv0-CdbDQ3qPZ0qPs3OtsojvalC52RbjEbVLxwnUcYmouOHPjzNp0dIdfoDWzperqS1o8_eqzxj2XKxrZMiaYoUkWXNMsniJsuqNG8Fq6qmYRUWC8XplLM17cgBYwMeYIKgd9qcF7JmMWNxGpcJS9KkiIpllrZ5kcV5UqWsS4Isxh2XKvI8fEQWpp4oNWNvaVJJ6-yvSU4y9APiZI7w-ei22tS7gbePt4vJcj0x_wkdiT-H">