From: Marek Polacek Date: Sat, 8 Jun 2019 14:10:42 +0000 (+0000) Subject: re PR c++/52269 ([C++11] Body of constexpr function templates instantiated too eagerl... X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=ec332875f8e2456bd104c16a553ac5ecad9024b3;p=gcc.git re PR c++/52269 ([C++11] Body of constexpr function templates instantiated too eagerly in unevaluated operands) PR c++/52269 * g++.dg/cpp0x/constexpr-decltype4.C: New test. From-SVN: r272083 --- diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog index c7846a4addb..a2012ae73af 100644 --- a/gcc/testsuite/ChangeLog +++ b/gcc/testsuite/ChangeLog @@ -1,5 +1,10 @@ +2019-06-08 Marek Polacek + + PR c++/52269 + * g++.dg/cpp0x/constexpr-decltype4.C: New test. + 2019-06-08 Thomas Koenig - Tomáš Trnka + Tomáš Trnka PR fortran/90744 * gfortran.dg/deferred_character_33.f90: New test. diff --git a/gcc/testsuite/g++.dg/cpp0x/constexpr-decltype4.C b/gcc/testsuite/g++.dg/cpp0x/constexpr-decltype4.C new file mode 100644 index 00000000000..64af90baee4 --- /dev/null +++ b/gcc/testsuite/g++.dg/cpp0x/constexpr-decltype4.C @@ -0,0 +1,21 @@ +// PR c++/52269 +// { dg-do compile { target c++11 } } + +template +int f(T x) +{ + return x.get(); +} + +// O.K. The body of `f' is not required. +decltype(f(0)) a; + +template +constexpr int g(T x) +{ + return x.get(); +} + +// Seems to instantiate the body of `g' +// and results in an error. +decltype(g(0)) b;