[Bug optimization/11635] [3.3/3.4 regression] Unnecessary store onto stack
PLEASE REPLY TO gcc-bugzilla@gcc.gnu.org ONLY, *NOT* gcc-bugs@gcc.gnu.org.
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=11635
------- Additional Comments From pinskia at physics dot uc dot edu 2003-07-22 22:59 -------
I forgot to attach the reduced sources:
typedef unsigned int __uint32_t;
typedef unsigned int __socklen_t;
typedef __socklen_t socklen_t;
typedef unsigned short int sa_family_t;
struct sockaddr
{
sa_family_t sa_family;
char sa_data[14];
};
struct sockaddr_storage
{
sa_family_t ss_family;
__uint32_t __ss_align;
char __ss_padding[(128 - (2 * sizeof (__uint32_t)))];
};
typedef union { struct sockaddr *__restrict __sockaddr__; struct sockaddr_at *__restrict
__sockaddr_a
t__; struct sockaddr_ax25 *__restrict __sockaddr_ax25__; struct sockaddr_dl *__restrict
__sockaddr_dl
__; struct sockaddr_eon *__restrict __sockaddr_eon__; struct sockaddr_in *__restrict
__sockaddr_in__;
struct sockaddr_in6 *__restrict __sockaddr_in6__; struct sockaddr_inarp *__restrict
__sockaddr_inarp
__; struct sockaddr_ipx *__restrict __sockaddr_ipx__; struct sockaddr_iso *__restrict
__sockaddr_iso_
_; struct sockaddr_ns *__restrict __sockaddr_ns__; struct sockaddr_un *__restrict __sockaddr_un__;
st
ruct sockaddr_x25 *__restrict __sockaddr_x25__;
} __SOCKADDR_ARG __attribute__ ((__transparent_union__));
extern int getpeername (int __fd, __SOCKADDR_ARG __addr,
socklen_t *__restrict __len) ;
int
main(void)
{
struct sockaddr_storage from;
struct sockaddr *const fromp = (void *)&from;
socklen_t fromlen;
fromlen = sizeof(from);
if (getpeername(0, fromp, &fromlen) < 0) {
return 1;
}
return 0;
}
------- You are receiving this mail because: -------
You reported the bug, or are watching the reporter.
Reply to: