------- 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