aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPaolo Carlini <paolo.carlini@oracle.com>2019-03-13 10:32:29 +0000
committerPaolo Carlini <paolo@gcc.gnu.org>2019-03-13 10:32:29 +0000
commit31ba0418a27bb61df31bb5fcdbe380288f3b10cf (patch)
tree68fa1e8617343a631884bed369c423f6a79a0bf9
parent7a26e2739d3f21d6765eedd097a4b58e9cb82bd1 (diff)
downloadgcc-31ba0418a27bb61df31bb5fcdbe380288f3b10cf.zip
gcc-31ba0418a27bb61df31bb5fcdbe380288f3b10cf.tar.gz
gcc-31ba0418a27bb61df31bb5fcdbe380288f3b10cf.tar.bz2
re PR c++/85558 (ICE in make_rtl_for_nonlocal_decl when using static member of template class)
2019-03-13 Paolo Carlini <paolo.carlini@oracle.com> PR c++/85558 * g++.dg/other/friend16.C: New. * g++.dg/other/friend17.C: Likewise. From-SVN: r269644
-rw-r--r--gcc/testsuite/ChangeLog6
-rw-r--r--gcc/testsuite/g++.dg/other/friend16.C12
-rw-r--r--gcc/testsuite/g++.dg/other/friend17.C12
3 files changed, 30 insertions, 0 deletions
diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog
index 5ba400f..2439836 100644
--- a/gcc/testsuite/ChangeLog
+++ b/gcc/testsuite/ChangeLog
@@ -1,3 +1,9 @@
+2019-03-13 Paolo Carlini <paolo.carlini@oracle.com>
+
+ PR c++/85558
+ * g++.dg/other/friend16.C: New.
+ * g++.dg/other/friend17.C: Likewise.
+
2019-03-13 Jakub Jelinek <jakub@redhat.com>
PR middle-end/88588
diff --git a/gcc/testsuite/g++.dg/other/friend16.C b/gcc/testsuite/g++.dg/other/friend16.C
new file mode 100644
index 0000000..8c62ef6
--- /dev/null
+++ b/gcc/testsuite/g++.dg/other/friend16.C
@@ -0,0 +1,12 @@
+// PR c++/85558
+
+template <typename T>
+struct triggerBug {
+ friend void doInitUser(bool = triggerBug::doInit); // { dg-error "definition" }
+ static bool doInit;
+};
+
+template <class T>
+bool triggerBug<T>::doInit = true;
+
+triggerBug<int> bug;
diff --git a/gcc/testsuite/g++.dg/other/friend17.C b/gcc/testsuite/g++.dg/other/friend17.C
new file mode 100644
index 0000000..81269af
--- /dev/null
+++ b/gcc/testsuite/g++.dg/other/friend17.C
@@ -0,0 +1,12 @@
+// PR c++/85558
+
+template <typename T>
+struct triggerBug {
+ friend void doInitUser(bool = triggerBug::doInit) {}
+ static bool doInit;
+};
+
+template <class T>
+bool triggerBug<T>::doInit = true;
+
+triggerBug<int> bug;