14c41b9bb9
2009-07-01 Richard Guenther <rguenther@suse.de> PR tree-optimization/19831 * tree-ssa-dce.c (propagate_necessity): Calls to functions that only act as barriers do not make any previous stores necessary. * tree-ssa-structalias.c (handle_lhs_call): Delay making HEAP variables global, do not add a constraint from nonlocal. (find_func_aliases): Handle escapes through return statements. (compute_points_to_sets): Make escaped HEAP variables global. * gcc.dg/tree-ssa/20041122-1.c: Enable TBAA, scan FRE dump, make allocated memory escape. Un-XFAIL. * gcc.dg/vect/pr21591.c: Make allocated memory escape. * gcc.dg/vect/pr31699.c: Likewise. * gcc.dg/tree-ssa/ssa-dce-7.c: New testcase. libmudflap/ * testsuite/libmudflap.c/fail11-frag.c: Make allocated memory escape. * testsuite/libmudflap.c/fail12-frag.c: Likewise. * testsuite/libmudflap.c/fail16-frag.c: Likewise. * testsuite/libmudflap.c/fail31-frag.c: Likewise. From-SVN: r149140
24 lines
363 B
C
24 lines
363 B
C
#include <stdio.h>
|
|
#include <stdlib.h>
|
|
|
|
extern int h (int i, int j);
|
|
|
|
int main ()
|
|
{
|
|
int z = h (4, 10);
|
|
return 0;
|
|
}
|
|
int *p;
|
|
int h (int i, int j)
|
|
{
|
|
int k[i];
|
|
k[j] = i;
|
|
p = k;
|
|
return j;
|
|
}
|
|
|
|
/* { dg-output "mudflap violation 1.*" } */
|
|
/* { dg-output "Nearby object.*" } */
|
|
/* { dg-output "mudflap object.*\(h\).*k" } */
|
|
/* { dg-do run { xfail *-*-* } } */
|