8sa1-gcc/gcc/testsuite/g++.dg/cpp0x/constexpr-conv4.C
Marek Polacek adc06f45fb PR c++/87145 - bogus error converting class type in template arg list.
* pt.c (convert_nontype_argument): Don't call
	build_converted_constant_expr if it could involve calling a conversion
	function with a instantiation-dependent constructor as its argument.

	* g++.dg/cpp0x/constexpr-conv3.C: New test.
	* g++.dg/cpp0x/constexpr-conv4.C: New test.

From-SVN: r270178
2019-04-05 21:22:40 +00:00

26 lines
289 B
C

// PR c++/87145
// { dg-do compile { target c++11 } }
struct S {
int val;
constexpr operator int() const {
return static_cast<int>(val);
}
};
template<int N>
struct F { };
template<unsigned N>
constexpr void foo() {
F<int{N}> f;
F<S{N}> f2;
}
int
main()
{
foo<2>();
}