// RUN: %clang_cc1 -triple=x86_64-linux-gnu -emit-llvm -o - %s // Don't crash if the argument to __builtin_constant_p isn't scalar. template constexpr bool is_constant(const T v) { return __builtin_constant_p(v); } template class numeric { public: using type = T; template constexpr numeric(S value) : value_(static_cast(value)) {} private: const T value_; }; bool bcp() { return is_constant(numeric(1)); }