------- Additional Comments From pinskia at gcc dot gnu dot org  2005-02-25 
03:27 -------
Hmm, this is the smallest testcase which I came up to show the problem (note I 
cannot think of a 
testcase which shows this in dejagnu test well we could check for V_MAY_DEF):
void link_error();
void f(char *a)
{
  if (*a == 0)
   asm("":"=m"(*(struct{char a[10]; }*)a));
  if (*a ==0)
   link_error ();
}

int main(void)
{
  char a = 0;
  f(&a);
}

But I should note that this seems to violate aliasing rules but that should not 
matter for -fno-strict-
aliasing.  Someone should tell glibc if this turns out being violating aliasing 
rules because it shows up 
for memcpy.

This worked in 20050113 but failed in 20050216.

-- 
           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |pinskia at gcc dot gnu dot
                   |                            |org, dnovillo at gcc dot gnu
                   |                            |dot org
             Status|UNCONFIRMED                 |NEW
     Ever Confirmed|                            |1
   Last reconfirmed|0000-00-00 00:00:00         |2005-02-25 03:27:44
               date|                            |
            Summary|[4.0 Regression] glibc-2.3.4|[4.0 Regression] asm and
                   |misscompilation.            |memory operands does not add
                   |                            |a V_MAY_DEF


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

Reply via email to