Don't use transparent unions in C++.
[kopensolaris-gnu/glibc.git] / posix / sys / wait.h
index bc2298f..e931405 100644 (file)
@@ -51,7 +51,7 @@ __BEGIN_DECLS
    allowed without complaint.  __WAIT_STATUS_DEFN is the type used in
    the actual function definitions.  */
 
-# if !defined __GNUC__ || __GNUC__ < 2
+# if !defined __GNUC__ || __GNUC__ < 2 || defined __cplusplus
 #  define __WAIT_STATUS                __ptr_t
 #  define __WAIT_STATUS_DEFN   __ptr_t
 # else
@@ -60,7 +60,7 @@ typedef union
   {
     union wait *__uptr;
     int *__iptr;
-  } __WAIT_STATUS __attribute__ ((transparent_union));
+  } __WAIT_STATUS __attribute__ ((__transparent_union__));
 # define __WAIT_STATUS_DEFN    int *
 #endif