re PR middle-end/54515 (cc1plus sigsegv -O2 anonymous namespace)
2012-09-07 Markus Trippelsdorf <markus@trippelsdorf.de> PR middle-end/54515 * tree-sra.c (disqualify_base_of_expr): Check for possible NULL_TREE returned by get_base_address() * g++.dg/tree-ssa/pr54515.C: new testcase From-SVN: r191130
This commit is contained in:
parent
2fd7c76554
commit
5b5995bdec
|
@ -1,3 +1,9 @@
|
|||
2012-09-10 Markus Trippelsdorf <markus@trippelsdorf.de>
|
||||
|
||||
PR middle-end/54515
|
||||
* tree-sra.c (disqualify_base_of_expr): Check for possible
|
||||
NULL_TREE returned by get_base_address()
|
||||
|
||||
2012-09-07 Richard Guenther <rguenther@suse.de>
|
||||
|
||||
Backport from mainline
|
||||
|
|
|
@ -1,3 +1,8 @@
|
|||
2012-09-10 Markus Trippelsdorf <markus@trippelsdorf.de>
|
||||
|
||||
PR middle-end/54515
|
||||
* g++.dg/tree-ssa/pr54515.C: new testcase
|
||||
|
||||
2012-09-08 Mikael Morin <mikael@gcc.gnu.org>
|
||||
|
||||
PR fortran/54208
|
||||
|
|
|
@ -0,0 +1,19 @@
|
|||
// { dg-do compile }
|
||||
// { dg-options "-O2" }
|
||||
|
||||
template < typename T > T h2le (T)
|
||||
{
|
||||
T a;
|
||||
unsigned short &b = a;
|
||||
short c = 0;
|
||||
unsigned char (&d)[2] = reinterpret_cast < unsigned char (&)[2] > (c);
|
||||
unsigned char (&e)[2] = reinterpret_cast < unsigned char (&)[2] > (b);
|
||||
e[0] = d[0];
|
||||
return a;
|
||||
}
|
||||
|
||||
void
|
||||
bar ()
|
||||
{
|
||||
h2le ((unsigned short) 0);
|
||||
}
|
|
@ -971,7 +971,8 @@ static void
|
|||
disqualify_base_of_expr (tree t, const char *reason)
|
||||
{
|
||||
t = get_base_address (t);
|
||||
if (sra_mode == SRA_MODE_EARLY_IPA
|
||||
if (t
|
||||
&& sra_mode == SRA_MODE_EARLY_IPA
|
||||
&& TREE_CODE (t) == MEM_REF)
|
||||
t = get_ssa_base_param (TREE_OPERAND (t, 0));
|
||||
|
||||
|
|
Loading…
Reference in New Issue