aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPaolo Carlini <paolo.carlini@oracle.com>2018-03-05 10:19:11 +0000
committerPaolo Carlini <paolo@gcc.gnu.org>2018-03-05 10:19:11 +0000
commita0445a5fb136ba2328998385fc42988c512d447e (patch)
treeffec524e57ca7b6c833486e83c7c4f763c9d7da2
parente095eec19a54ef1639a5954534ccbbc3acd2fd83 (diff)
downloadgcc-a0445a5fb136ba2328998385fc42988c512d447e.zip
gcc-a0445a5fb136ba2328998385fc42988c512d447e.tar.gz
gcc-a0445a5fb136ba2328998385fc42988c512d447e.tar.bz2
re PR c++/82022 (constexpr lambda in template context: expression ‘<lambda>’ is not a constant expression)
2018-03-05 Paolo Carlini <paolo.carlini@oracle.com> PR c++/82022 * g++.dg/cpp1z/constexpr-lambda20.C: New. From-SVN: r258241
-rw-r--r--gcc/testsuite/ChangeLog5
-rw-r--r--gcc/testsuite/g++.dg/cpp1z/constexpr-lambda20.C16
2 files changed, 21 insertions, 0 deletions
diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog
index 63adcbe..8e7e53b 100644
--- a/gcc/testsuite/ChangeLog
+++ b/gcc/testsuite/ChangeLog
@@ -1,3 +1,8 @@
+2018-03-05 Paolo Carlini <paolo.carlini@oracle.com>
+
+ PR c++/82022
+ * g++.dg/cpp1z/constexpr-lambda20.C: New.
+
2018-03-03 Harald Anlauf <anlauf@gmx.de>
PR fortran/71085
diff --git a/gcc/testsuite/g++.dg/cpp1z/constexpr-lambda20.C b/gcc/testsuite/g++.dg/cpp1z/constexpr-lambda20.C
new file mode 100644
index 0000000..c5109b8
--- /dev/null
+++ b/gcc/testsuite/g++.dg/cpp1z/constexpr-lambda20.C
@@ -0,0 +1,16 @@
+// PR c++/82022
+// { dg-options -std=c++17 }
+
+template <class T>
+void f2()
+{
+ constexpr bool r = []() constexpr { return false; }();
+ if constexpr (r);
+ if constexpr ([]() constexpr { return false; }());
+}
+
+int main()
+{
+ if constexpr ([]() constexpr { return false; }());
+ f2<int>();
+}