<table border="1" cellspacing="0" cellpadding="8">
    <tr>
        <th>Issue</th>
        <td>
            <a href=http://email.email.llvm.org/c/eJylVMuu2yAQ_Rq8QbEwxI8svMij-YHcri3AxKaXmAhwetuvL_jROFGrpi0CA8OcM2cAw3T9reSKdg28Sv5u4Vej_ZjrzjrxcTXjyPTcaQPPvjVKM6oWDjdqJGVK2BigA0Db1rmrBWQL8NHXRtdMKxdr0_jZd9_OH2_kraXs0-g-fTM0Vg7wLtTBOgaGJwjyyQJ9kZ2DEpCFpapabV1VLVSdAC6CYyUB3ng1HoGLMNnl3jAQ5oclQy1ukotXOFbkmSEMZj0PyvcvK4f7fxb8O-grOhfJQutRZGB4cKmq8ch9pJuWNXwXphNqDAnwFurezXF-qgu2dIdAeoCAHAaBgTkOycPxYkAEV36vjRHcPQOTGXj6AzC-I09QaU7Vcw53UjyTDn6vSiEzyo4IXyZQElCye8Ddd3q-z8udjOqS1BuyoRHtXatNuTVOXFa7qDeqfPptpGt7FnN98ROlbnO3uhr9JYTDR2ltL_yZHVNSEBK1JUVFtsZJRgVKs5qllGFK8iLP6ixDxZpEijKhbOmzAhjzvqa-8-lF_x9clhhhXxMfH_k-JpykeUYTktPizLIErJG4UKniwBMeg8iUAyXrG-sXlbTO3heptbLphJi0Tvs0yXXSqWFl__mwDcfzN8_Xr96taMimHFL5AfwFcE0>53833</a>
        </td>
    </tr>

    <tr>
        <th>Summary</th>
        <td>
            [CUDA] clang picks wrong constexpr constructor for constexpr variables.
        </td>
    </tr>

    <tr>
      <th>Labels</th>
      <td>
            cuda
      </td>
    </tr>

    <tr>
      <th>Assignees</th>
      <td>
            Artem-B
      </td>
    </tr>

    <tr>
      <th>Reporter</th>
      <td>
          Artem-B
      </td>
    </tr>
</table>

<pre>
    clang picks wrong constexpr constructor for global constexpr variables.
https://godbolt.org/z/fxT3ThabE

```c++
struct S {
    int i;
    __host__ constexpr S(int _i): i(_i+7) {}
    __device__ constexpr S(int _i): i(_i-3) {}
};

struct C {
    int i;
    __host__  C(int _i): i(_i+7) {}
    __device__  C(int _i): i(_i-3) {}
};

constexpr S s(3);

__global__ void kernel(int* out) {
    out[0] = C(3).i; // 0 - correct
    out[1] = S(3).i; // 0 - correct.
    S local(3);
    out[2] = local.i; // 0 - correct
    out[3] = s.i;    // 10 - incorrect
}
```


</pre>
<img width="1px" height="1px" alt="" src="http://email.email.llvm.org/o/eJydVMmS2yAQ_Rp0oaxisS35oIOX-Ac8OasQYIkMFi5AziRfH9ASy65JxQkFApp-r1-zqDLiR8E1a2t4Vfzdwe_WhDE3rfPy42qHke24NxaeQ6u1qZieOdyYVazS0qUAHQDaNt5fHaBbQI6h1kZURvvU2DrMfoZ2_nijbw2rvgzu43eNhsoB2cXaW4fA8ARBNlpgKKr1UAE6s5RlY5wvy5mqEyB5dCwVIJugJiBIHie7LBh6wuwwZxDyprh8hWNBnxniYNLzoHz_snK4_2_Bf4K-onOWLHQBRXuGB5eyHI48RLoZJeC7tK3UQ0hAttB0forzW120rXYIrA4Q0EMvMDKnMXk4XAyI4CLstbWS-2cgnoCnvwDTO_IEteFMP-dwJyUTae_3qhQ6odyACGUE4YhS7QPuvtPTfZ7vZCIKKjZ0wxKvvJZFoN9_PWxjhH95gZ89vaSzunh6eco3XZVycwkTrW9Tt7ha8y0qJkflXCfDsR9XNKc0aQpE1isiMpIzwQRZYoYzzLINwoQjnGORaFZJ7aJyQAjvBAtd0J-ogiASKl4SjEKfUk5X2ZphmrH8XK0xWCJ5YUqnUUL8GyS26NVUXe3ColbOu_sic07VrZRjpK318rLYjcFY5xtji9GY9FkUfQq_AEOhWsA">