https://gcc.gnu.org/bugzilla/show_bug.cgi?id=63804
--- Comment #4 from Markus Trippelsdorf <trippels at gcc dot gnu.org> --- trippels@gcc2-power8 status % cat freelist_test.ii template <typename _Tp> struct A { _Tp _M_i; void load () { _Tp a; __atomic_load (&_M_i, &a, 0); } }; class B { int *ptr; int tag; }; class C { public: template <typename Allocator> C (Allocator, int); template <bool, int> void construct () { pool_.load (); } A<B> pool_; }; class D { int *px; int pn; }; class F { public: F (int); }; class G { public: G (int) : p_predicate_value (0) {} class readonly_property61 : F { public: readonly_property61 (int) : F (0) {} } p_predicate_value; D m_message; }; void report_assertion (G); template <typename, int threadsafe, int bounded> void run_test () { C b (0, 0); b.construct<threadsafe, bounded> (); report_assertion (0); } template <bool bounded> void run_tests () { run_test<C, 0, bounded> (); } void freelist_teststest_method () { run_tests<false> (); }