1 // PR c++/92003 2 // { dg-do compile { target c++11 } } 3 // { dg-additional-options "-fdelete-null-pointer-checks" } 4 // { dg-prune-output "narrowing conversion" } 5 get_c_str()6constexpr char const* get_c_str() { return "abc"; } 7 constexpr bool use_get_c_str_in_constexpr_context{get_c_str()}; // works 8 9 template <char... Cs> 10 struct string { c_strstring11 static constexpr char const* c_str() { return c; } 12 13 private: 14 static constexpr char c[]{Cs..., '\0'}; 15 }; 16 17 constexpr char const* cstr{string<'a', 'b', 'c'>::c_str()}; 18 constexpr bool use_cstr_in_constexpr_context{cstr}; // doesn't work 19