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
This commit is contained in:
Marek Polacek 2019-06-08 14:10:42 +00:00
parent 304d779b9e
commit ec332875f8
2 changed files with 27 additions and 1 deletions

View file

@ -1,5 +1,10 @@
2019-06-08 Marek Polacek <polacek@redhat.com>
PR c++/52269
* g++.dg/cpp0x/constexpr-decltype4.C: New test.
2019-06-08 Thomas Koenig <tkoenig@gcc.gnu.org>
Tomáš Trnka <trnka@scm.com>
Tomáš Trnka <trnka@scm.com>
PR fortran/90744
* gfortran.dg/deferred_character_33.f90: New test.

View file

@ -0,0 +1,21 @@
// PR c++/52269
// { dg-do compile { target c++11 } }
template<typename T>
int f(T x)
{
return x.get();
}
// O.K. The body of `f' is not required.
decltype(f(0)) a;
template<typename T>
constexpr int g(T x)
{
return x.get();
}
// Seems to instantiate the body of `g'
// and results in an error.
decltype(g(0)) b;