This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: Initial shrink-wrapping patch


On Wed, Oct 5, 2011 at 10:17 AM, Bernd Schmidt <bernds@codesourcery.com> wrote:
>
> I've committed the following after a x86_64-linux bootstrap.

This patch appears to have broken the Go bootstrap when compiling a C
file in libgo. ?Here is a reduced test case:

static struct
{
  int n;
  unsigned int m;
  _Bool f;
} g;

_Bool
f (int s)
{
  unsigned int b, m;

  if (!g.f)
    return 0;
  b = 1 << s;
  while (1)
    {
      m = g.m;
      if (m & b)
        break;
      if (__sync_bool_compare_and_swap (&g.m, m, m|b))
        {
          if (m == 0)
            f2 (&g.n);
          break;
        }
    }
  return 1;
}

Compiling this file with -O2 -fsplit-stack causes an ICE:

foo.c:29:1: internal compiler error: in maybe_record_trace_start, at
dwarf2cfi.c:2243

Compiling the file with -O2 -fsplit-stack -fno-shrink-wrap works.

Ian


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]