This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug rtl-optimization/63804] [5 Regression] ice in find_oldest_value_reg with -g -O2
- From: "trippels at gcc dot gnu.org" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: Mon, 10 Nov 2014 13:08:41 +0000
- Subject: [Bug rtl-optimization/63804] [5 Regression] ice in find_oldest_value_reg with -g -O2
- Auto-submitted: auto-generated
- References: <bug-63804-4 at http dot gcc dot gnu dot org/bugzilla/>
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> ();
}