view gcc/testsuite/g++.dg/lto/pr86523-3_0.C @ 158:494b0b89df80 default tip

...
author Shinji KONO <kono@ie.u-ryukyu.ac.jp>
date Mon, 25 May 2020 18:13:55 +0900
parents 84e7813d76e9
children
line wrap: on
line source

// { 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:;
    }
}