------- Additional Comments From pinskia at gcc dot gnu dot org  2005-06-23 
14:42 -------
This looks like a latent bug on the mainline too, just harder to reproduce and 
here is a testcase:
struct test {
  struct tt
  {
  volatile int a;
  volatile int b;
  } t;
};

int main(int argc, char *argv[]){

 struct test *p = (struct test *)0x10000000;
 struct tt *ptr = &p->t;

 ptr->b = 10;
 (int)ptr->b;

 return 1;
}

-- 
           What    |Removed                     |Added
----------------------------------------------------------------------------
            Summary|[4.0 Regression] Read from  |[4.0/4.1 Regression] Read
                   |volatile member of struct is|from volatile member of
                   |optimized away              |struct is optimized away


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

Reply via email to