// { dg-lto-do assemble } | |
// { dg-lto-options { { -flto -ffat-lto-objects -g } } } | |
struct A { A (int); }; | |
template <class T> class B { T f; }; | |
unsigned char *foo (int *, bool *, const int &); | |
template <typename, unsigned char *F (int *, bool *, const int &)> struct C {}; | |
struct D { B<C<unsigned char, foo> > d; }; | |
struct E { D e; }; | |
struct F {}; | |
struct G { static int bar (A, F, E, int); }; | |
void | |
baz () | |
{ | |
F f; | |
G::bar (0, f, E (), 0); | |
} |