This is the mail archive of the gcc-bugs@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[Bug tree-optimization/17766] [4.0 Regression] cc1 hangs in with -O3, works with -O2


------- Additional Comments From pinskia at gcc dot gnu dot org  2004-10-07 20:35 -------
Reduced testcase:
typedef unsigned int size_t;
typedef long int wchar_t;
typedef unsigned int socklen_t;
struct msghdr
{
  struct cmsghdr *msg_control;
  size_t msg_controllen;
};
struct cmsghdr
{
  unsigned int cmsg_len;
  int cmsg_level;
  int cmsg_type;
};
static struct cmsghdr *__cmsg_nxthdr (struct msghdr *__mhdr, struct cmsghdr *__cmsg) ;

static __inline struct cmsghdr *
__cmsg_nxthdr (struct msghdr *__mhdr, struct cmsghdr *__cmsg)
{
 if (__cmsg->cmsg_len < 1)
    return 0;
  if (__cmsg > __mhdr->msg_control ||  __cmsg + __cmsg->cmsg_len > 0)
    return 0;
  return __cmsg;
}

void SLPMDNSXcastRecvMessage()
{
  struct cmsghdr *cmsg;
  struct msghdr mhdr;
  cmsg = (mhdr.msg_controllen >= 1 ? mhdr.msg_control :  0);
  for (cmsg = (mhdr.msg_controllen >= 1 ? mhdr.msg_control : 0 );
       cmsg;
       __cmsg_nxthdr (&mhdr, cmsg))
    if (cmsg->cmsg_level == 0 && cmsg->cmsg_type == 2)
      break;
}


-- 
           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|UNCONFIRMED                 |NEW
     Ever Confirmed|                            |1
   Last reconfirmed|0000-00-00 00:00:00         |2004-10-07 20:35:26
               date|                            |


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


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]