aboutsummaryrefslogtreecommitdiff
path: root/gcc/testsuite
diff options
context:
space:
mode:
authorMarek Polacek <polacek@redhat.com>2019-02-05 21:30:51 +0000
committerMarek Polacek <mpolacek@gcc.gnu.org>2019-02-05 21:30:51 +0000
commit0d806438807541d31a759f687279e704ad103609 (patch)
treea954187353070a2b08aa7342f80baed4a15c1079 /gcc/testsuite
parentb81e1cd506ad06e4eb0a658d26119129d110a5a9 (diff)
downloadgcc-0d806438807541d31a759f687279e704ad103609.zip
gcc-0d806438807541d31a759f687279e704ad103609.tar.gz
gcc-0d806438807541d31a759f687279e704ad103609.tar.bz2
PR c++/89158 - by-value capture of constexpr variable broken.
* call.c (convert_like_real) <case ck_user>: Call mark_exp_read instead of mark_rvalue_use. * g++.dg/cpp0x/lambda/lambda-89158.C: New test. From-SVN: r268561
Diffstat (limited to 'gcc/testsuite')
-rw-r--r--gcc/testsuite/ChangeLog5
-rw-r--r--gcc/testsuite/g++.dg/cpp0x/lambda/lambda-89158.C11
2 files changed, 16 insertions, 0 deletions
diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog
index 68ce1a4..71ea366 100644
--- a/gcc/testsuite/ChangeLog
+++ b/gcc/testsuite/ChangeLog
@@ -1,3 +1,8 @@
+2019-02-05 Marek Polacek <polacek@redhat.com>
+
+ PR c++/89158 - by-value capture of constexpr variable broken.
+ * g++.dg/cpp0x/lambda/lambda-89158.C: New test.
+
2019-02-05 Segher Boessenkool <segher@kernel.crashing.org>
* gcc.dg/vect/pr84711.c: Use -Wno-psabi.
diff --git a/gcc/testsuite/g++.dg/cpp0x/lambda/lambda-89158.C b/gcc/testsuite/g++.dg/cpp0x/lambda/lambda-89158.C
new file mode 100644
index 0000000..15f15b4
--- /dev/null
+++ b/gcc/testsuite/g++.dg/cpp0x/lambda/lambda-89158.C
@@ -0,0 +1,11 @@
+// PR c++/89158
+// { dg-do compile { target c++11 } }
+
+struct T { T(const int&); };
+void Func(T);
+
+void test()
+{
+ constexpr int Val = 42;
+ [Val]() { Func(Val); };
+}