aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPaolo Carlini <paolo.carlini@oracle.com>2014-11-02 09:31:12 +0000
committerPaolo Carlini <paolo@gcc.gnu.org>2014-11-02 09:31:12 +0000
commite82d71d91eeb2643799011866a011723755283c0 (patch)
treee7372cb7fd14868e6d20da696317e3f065f27f4d
parent26f0e1d68ad731ea8bc2ec2dca4f23a12f878d03 (diff)
downloadgcc-e82d71d91eeb2643799011866a011723755283c0.zip
gcc-e82d71d91eeb2643799011866a011723755283c0.tar.gz
gcc-e82d71d91eeb2643799011866a011723755283c0.tar.bz2
re PR c++/57694 ([c++11] constexpr constructor does not work with const address of own member)
2014-11-02 Paolo Carlini <paolo.carlini@oracle.com> PR c++/57694 * g++.dg/cpp0x/constexpr-ctor15.C: New. From-SVN: r217013
-rw-r--r--gcc/testsuite/ChangeLog5
-rw-r--r--gcc/testsuite/g++.dg/cpp0x/constexpr-ctor15.C29
2 files changed, 34 insertions, 0 deletions
diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog
index 969a4f8..0cc7116 100644
--- a/gcc/testsuite/ChangeLog
+++ b/gcc/testsuite/ChangeLog
@@ -1,3 +1,8 @@
+2014-11-02 Paolo Carlini <paolo.carlini@oracle.com>
+
+ PR c++/57694
+ * g++.dg/cpp0x/constexpr-ctor15.C: New.
+
2014-11-01 Edward Smith-Rowland <3dw4rd@verizon.net>
* g++.dg/cpp1y/feat-cxx11.C: Commentary and rearrangement of tests.
diff --git a/gcc/testsuite/g++.dg/cpp0x/constexpr-ctor15.C b/gcc/testsuite/g++.dg/cpp0x/constexpr-ctor15.C
new file mode 100644
index 0000000..5ad278a
--- /dev/null
+++ b/gcc/testsuite/g++.dg/cpp0x/constexpr-ctor15.C
@@ -0,0 +1,29 @@
+// PR c++/57694
+// { dg-do compile { target c++11 } }
+
+class A
+{
+private:
+ int a;
+ const int* const aptr;
+
+public:
+ constexpr A(int _a) : a(_a), aptr(&a) { }
+};
+
+class Data { } d1;
+
+class B
+{
+private:
+ Data* dptr1;
+
+public:
+ constexpr B(Data* _p) : dptr1(_p) {}
+};
+
+class Use
+{
+ static constexpr A a{2};
+ static constexpr B b{&d1};
+};