rsmith added a comment.

In D79237#2039559 <https://reviews.llvm.org/D79237#2039559>, @tra wrote:

> In D79237#2039417 <https://reviews.llvm.org/D79237#2039417>, @tra wrote:
>
> >
>
>
> Bad news -- it breaks the standard C++ library.


[...]

>   build/release+assert+zapcc/bin/../include/c++/v1/utility:937:51: error: 
> dynamic initialization is not supported for __device__, __constant__, and 
> __shared__ variables.
>   _LIBCPP_INLINE_VAR constexpr in_place_type_t<_Tp> in_place_type{};
>                                                     ^            ~~

This looks like a bug in that diagnostic: the instantiations of this variable 
template certainly do not have dynamic initialization. The diagnostic is 
missing an "in instantiation of" note, so I think the bug is that we're 
performing this check on a dependent variable prior to instantiation. 
Presumably we should delay the check to instantiation time if either the type 
of the variable is dependent or the initializer is value-dependent.


CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D79237/new/

https://reviews.llvm.org/D79237



_______________________________________________
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

Reply via email to