diff gcc/testsuite/g++.dg/lto/pr86523-3_0.C @ 131:84e7813d76e9

gcc-8.2
author mir3636
date Thu, 25 Oct 2018 07:37:49 +0900
parents
children
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/gcc/testsuite/g++.dg/lto/pr86523-3_0.C	Thu Oct 25 07:37:49 2018 +0900
@@ -0,0 +1,24 @@
+// { dg-lto-do link }
+// { dg-require-effective-target fpic }
+// { dg-require-effective-target shared }
+// { dg-lto-options { { -fPIC -flto -g -shared } } }
+class a {
+    int b;
+};
+int const c = 0, d = 1, f = 2, g = 3;
+struct B {
+    typedef a h;
+    h i;
+};
+template <class> B j();
+template <class> struct k_context { static B const e_missingvar; };
+template <class l> B const k_context<l>::e_missingvar = j<l>();
+inline B m() {
+    switch (0) {
+      case c:
+      case d:
+      return k_context<int>::e_missingvar;
+      case f:
+      case g:;
+    }
+}