Contributors:

Delivery date:

Benefits:

Risks:

Description:

  int x; int y;
  struct { int x; int y; } global;
  int foo() {
          int i;
          for ( i=0; i<10; i++)
                  y += x*x;
          for ( i=0; i<10; i++)
                  global.y += global.x*global.x;
  }

  int x; int y;
  struct { int x; int y; } global;
  int foo() {
          int i;
          for ( i=0; i<10; i++)
                  y += x*x;
          for ( i=0; i<10; i++)
          {
                  VUSE (<fake variable named globalfield1:0:32>)
                  t = global.x * global.x
                  V_MAY_DEF (<fake variable named globalfield2:32:32>)
                  global.y += t;
          }
  }

  int x; int y;
  struct { int x; int y; } global;
  int foo() {
          int i;
          for ( i=0; i<10; i++)
                  y += x*x;
          for ( i=0; i<10; i++)
          {
                  VUSE (<fake variable named global>)
                  t = global.x * global.x;
                  V_MAY_DEF (<fake variable named global>)
                  global.y += t;
          }
  }

None: Structure_Aliasing_Part_I (last edited 2008-01-10 19:38:41 by localhost)