From mboxrd@z Thu Jan 1 00:00:00 1970 From: hjl@lucon.org (H.J. Lu) To: egcs@cygnus.com Cc: libc-linux@gnu.ai.mit.edu (GNU C Library) Subject: A glibc or egcs bug? Date: Sat, 06 Dec 1997 19:21:00 -0000 Message-id: X-SW-Source: 1997-12/msg00386.html This is from glibc 2.1: # gcc -v Reading specs from /usr/lib/gcc-lib/i586-unknown-linux-gnulibc1/egcs-2.90.20/specs gcc version egcs-2.90.20 971201 (gcc2-970802 experimental) # gcc -S w.cc w.cc: In function `int foo()': w.cc:48: no matching function for call to `__WAIT_STATUS::._2 (int *)' w.cc:38: candidates are: __WAIT_STATUS::._2(const {anonymous union} &) w.cc:38: __WAIT_STATUS::._2() -- H.J. Lu (hjl@gnu.org) --w.cc-- union wait { int w_status; struct { unsigned int __w_termsig:7; unsigned int __w_coredump:1; unsigned int __w_retcode:8; unsigned int:16; } __wait_terminated; struct { unsigned int __w_stopval:8; unsigned int __w_stopsig:8; unsigned int:16; } __wait_stopped; }; typedef union { union wait *__uptr; int *__iptr; } __WAIT_STATUS __attribute__ ((__transparent_union__)); extern int wait (__WAIT_STATUS __stat_loc) ; int foo () { int status; wait (&status); return status; }