http://gcc.gnu.org/bugzilla/show_bug.cgi?id=55755



             Bug #: 55755

           Summary: Invalid VIEW_CONVERT_EXPR produced by SRA

    Classification: Unclassified

           Product: gcc

           Version: 4.8.0

            Status: UNCONFIRMED

          Severity: normal

          Priority: P3

         Component: tree-optimization

        AssignedTo: unassig...@gcc.gnu.org

        ReportedBy: jamb...@gcc.gnu.org





Sigh.  Even after all those years I can still occasionally come up with

an ICEing SRA testcase (it's basically a slightly modified

/home/mjambor/gcc/mine/src/gcc/testsuite/gcc.dg/torture/pr47228.c).



To be run with -O only, fails on x86_64-linux trunk, 4.7, and 4.6

(when checking is enabled):



/* { dg-do run } */

/* { dg-require-effective-target int32plus } */



struct S4

{

  unsigned f0:24;

} __attribute__((__packed__));



struct S4 g_10 = {

  6210831

};



struct S5

{

  int i;

  struct S4 l_8[2];

}  __attribute__((__packed__));



int a, b;



struct S4 func_2 (int x)

{

  struct S5 l = {

    0,

    {{0}, {0}}

  };

  l.i = a;

  g_10 = l.l_8[1];

  for (; x<2; x++) {

    struct S4 tmp = {

      11936567

    };

    l.l_8[x] = tmp;

  }

  b = l.i;

  return g_10;

}



int main (void)

{

  func_2 (0);

  return 0;

}

Reply via email to