From: Jason Merrill Date: Tue, 10 Jan 2017 22:33:09 +0000 (-0500) Subject: re PR c++/77598 (constexpr compilation failure on reference type casting) X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=8cef58751ad6ddd0d84545cb509395c7b5216445;p=gcc.git re PR c++/77598 (constexpr compilation failure on reference type casting) PR c++/77598 * g++.dg/cpp0x/constexpr-ref11.C: New. From-SVN: r244296 --- diff --git a/gcc/testsuite/g++.dg/cpp0x/constexpr-ref11.C b/gcc/testsuite/g++.dg/cpp0x/constexpr-ref11.C new file mode 100644 index 00000000000..78ea77e81d2 --- /dev/null +++ b/gcc/testsuite/g++.dg/cpp0x/constexpr-ref11.C @@ -0,0 +1,26 @@ +// PR c++/77598 +// { dg-do compile { target c++11 } } + +template +struct A { static constexpr T a = T (); }; +template +constexpr T A::a; +struct B +{ + int b; + constexpr int foo () const { return b; } + constexpr B (const int &x) : b(x) {}; +}; +struct C : public B +{ + constexpr C () : B(50) {}; +}; +struct D : public C +{ +}; +struct E +{ + static constexpr const auto &e = A::a; +}; +constexpr const B &f = E::e; +constexpr const int g = f.foo ();