Thanks for opening PR on this. One thing I was planning to look into soon is
to make
progress at least reversible - i.e. find way to declare the fact that function
is part
of another in GCC and make inliner to produce the problem block tree after
inlining
them back together.
I wonder what the r
/* { dg-options "-g -O2" } */
extern void abort (void);
extern void exit (int);
extern int printf (const char *, ...);
static int
foo (int x)
{
typedef int T;
T z = 2 * x;
if (x <= 0)
{
printf ("foo\n");
printf ("foo\n");
printf ("foo\n");
exit (0);
}
return