constexpr var may be initialized with address of non-const variable.
In this case the initializer is not constant in device compilation.
This has been handled for const vars but not for constexpr vars.
This patch makes handling of const var and constexpr var
consistent.
So the idea here is that the constexpr vars that have an initializer that may not be static enough for CUDA would not get the implicit const attribute. I.e. it's tied to the change below that checks for allowed initializers.
We could use a comment about that here.