public inbox for gcc-bugs@sourceware.org
help / color / mirror / Atom feed
* [Bug c/31916] New: inconsistency between gcc and g++ with regards to pthreads
@ 2007-05-14 6:20 shlomo dot anglister at intel dot com
2007-05-14 11:01 ` [Bug c/31916] " pinskia at gcc dot gnu dot org
0 siblings, 1 reply; 2+ messages in thread
From: shlomo dot anglister at intel dot com @ 2007-05-14 6:20 UTC (permalink / raw)
To: gcc-bugs
1) Compiler command:
gcc -v -save-temps -pthread -c test_mt.c
Reading specs from
/usr/intel/pkgs/gcc/3.4.2/lib/gcc/i686-pc-linux-gnu/3.4.2/specs
Configured with: ../gcc-3.4.2/configure --prefix=/usr/intel/pkgs/gcc/3.4.2
--disable-libgcj --enable-languages=c,c++,f77,objc
Thread model: posix
gcc version 3.4.2
/usr/intel/pkgs/gcc/3.4.2/libexec/gcc/i686-pc-linux-gnu/3.4.2/cc1 -E -quiet -v
-iprefix
/nfs/iil/itools/i686_linux26/pkgs/wrapper/2.05/bin/../lib/gcc/i686-pc-linux-gnu/3.4.2/
-D_REENTRANT test_mt.c -mtune=pentiumpro -o test_mt.i
ignoring nonexistent directory
"/nfs/iil/itools/i686_linux26/pkgs/wrapper/2.05/bin/../lib/gcc/i686-pc-linux-gnu/3.4.2/include"
ignoring nonexistent directory
"/nfs/iil/itools/i686_linux26/pkgs/wrapper/2.05/bin/../lib/gcc/i686-pc-linux-gnu/3.4.2/../../../../i686-pc-linux-gnu/include"
ignoring nonexistent directory
"/usr/intel/pkgs/gcc/3.4.2/lib/gcc/i686-pc-linux-gnu/3.4.2/../../../../i686-pc-linux-gnu/include"
#include "..." search starts here:
#include <...> search starts here:
/usr/local/include
/usr/intel/pkgs/gcc/3.4.2/include
/usr/intel/pkgs/gcc/3.4.2/lib/gcc/i686-pc-linux-gnu/3.4.2/include
/usr/include
End of search list.
/usr/intel/pkgs/gcc/3.4.2/libexec/gcc/i686-pc-linux-gnu/3.4.2/cc1
-fpreprocessed test_mt.i -quiet -dumpbase test_mt.c -mtune=pentiumpro -auxbase
test_mt -version -o test_mt.s
GNU C version 3.4.2 (i686-pc-linux-gnu)
compiled by GNU C version 3.3.3 (SuSE Linux).
GGC heuristics: --param ggc-min-expand=100 --param ggc-min-heapsize=131072
test_mt.c: In function `main':
test_mt.c:5: error: `pthread_barrier_t' undeclared (first use in this function)
test_mt.c:5: error: (Each undeclared identifier is reported only once
test_mt.c:5: error: for each function it appears in.)
test_mt.c:5: error: parse error before "test_barrier"
2) test_mt.i
# 1 "test_mt.c"
# 1 "<built-in>"
# 1 "<command line>"
# 1 "test_mt.c"
# 1 "/usr/include/pthread.h" 1 3 4
# 18 "/usr/include/pthread.h" 3 4
# 1 "/usr/include/features.h" 1 3 4
# 308 "/usr/include/features.h" 3 4
# 1 "/usr/include/sys/cdefs.h" 1 3 4
# 309 "/usr/include/features.h" 2 3 4
# 331 "/usr/include/features.h" 3 4
# 1 "/usr/include/gnu/stubs.h" 1 3 4
# 332 "/usr/include/features.h" 2 3 4
# 19 "/usr/include/pthread.h" 2 3 4
# 1 "/usr/include/sched.h" 1 3 4
# 26 "/usr/include/sched.h" 3 4
# 1 "/usr/include/bits/types.h" 1 3 4
# 28 "/usr/include/bits/types.h" 3 4
# 1 "/usr/include/bits/wordsize.h" 1 3 4
# 29 "/usr/include/bits/types.h" 2 3 4
# 1
"/usr/intel/pkgs/gcc/3.4.2/lib/gcc/i686-pc-linux-gnu/3.4.2/include/stddef.h" 1
3 4
# 213
"/usr/intel/pkgs/gcc/3.4.2/lib/gcc/i686-pc-linux-gnu/3.4.2/include/stddef.h" 3
4
typedef unsigned int size_t;
# 32 "/usr/include/bits/types.h" 2 3 4
typedef unsigned char __u_char;
typedef unsigned short int __u_short;
typedef unsigned int __u_int;
typedef unsigned long int __u_long;
typedef signed char __int8_t;
typedef unsigned char __uint8_t;
typedef signed short int __int16_t;
typedef unsigned short int __uint16_t;
typedef signed int __int32_t;
typedef unsigned int __uint32_t;
__extension__ typedef signed long long int __int64_t;
__extension__ typedef unsigned long long int __uint64_t;
__extension__ typedef long long int __quad_t;
__extension__ typedef unsigned long long int __u_quad_t;
# 129 "/usr/include/bits/types.h" 3 4
# 1 "/usr/include/bits/typesizes.h" 1 3 4
# 130 "/usr/include/bits/types.h" 2 3 4
__extension__ typedef __u_quad_t __dev_t;
__extension__ typedef unsigned int __uid_t;
__extension__ typedef unsigned int __gid_t;
__extension__ typedef unsigned long int __ino_t;
__extension__ typedef __u_quad_t __ino64_t;
__extension__ typedef unsigned int __mode_t;
__extension__ typedef unsigned int __nlink_t;
__extension__ typedef long int __off_t;
__extension__ typedef __quad_t __off64_t;
__extension__ typedef int __pid_t;
__extension__ typedef struct { int __val[2]; } __fsid_t;
__extension__ typedef long int __clock_t;
__extension__ typedef unsigned long int __rlim_t;
__extension__ typedef __u_quad_t __rlim64_t;
__extension__ typedef unsigned int __id_t;
__extension__ typedef long int __time_t;
__extension__ typedef unsigned int __useconds_t;
__extension__ typedef long int __suseconds_t;
__extension__ typedef int __daddr_t;
__extension__ typedef long int __swblk_t;
__extension__ typedef int __key_t;
__extension__ typedef int __clockid_t;
__extension__ typedef int __timer_t;
__extension__ typedef long int __blksize_t;
__extension__ typedef long int __blkcnt_t;
__extension__ typedef __quad_t __blkcnt64_t;
__extension__ typedef unsigned long int __fsblkcnt_t;
__extension__ typedef __u_quad_t __fsblkcnt64_t;
__extension__ typedef unsigned long int __fsfilcnt_t;
__extension__ typedef __u_quad_t __fsfilcnt64_t;
__extension__ typedef int __ssize_t;
typedef __off64_t __loff_t;
typedef __quad_t *__qaddr_t;
typedef char *__caddr_t;
__extension__ typedef int __intptr_t;
__extension__ typedef unsigned int __socklen_t;
# 27 "/usr/include/sched.h" 2 3 4
# 1 "/usr/include/time.h" 1 3 4
# 118 "/usr/include/time.h" 3 4
struct timespec
{
__time_t tv_sec;
long int tv_nsec;
};
# 30 "/usr/include/sched.h" 2 3 4
# 1 "/usr/include/bits/sched.h" 1 3 4
# 62 "/usr/include/bits/sched.h" 3 4
struct sched_param
{
int __sched_priority;
};
extern int clone (int (*__fn) (void *__arg), void *__child_stack,
int __flags, void *__arg) __attribute__ ((__nothrow__));
struct __sched_param
{
int __sched_priority;
};
# 98 "/usr/include/bits/sched.h" 3 4
typedef unsigned long int __cpu_mask;
typedef struct
{
__cpu_mask __bits[1024 / (8 * sizeof (__cpu_mask))];
} cpu_set_t;
# 33 "/usr/include/sched.h" 2 3 4
extern int sched_setparam (__pid_t __pid, __const struct sched_param *__param)
__attribute__ ((__nothrow__));
extern int sched_getparam (__pid_t __pid, struct sched_param *__param)
__attribute__ ((__nothrow__));
extern int sched_setscheduler (__pid_t __pid, int __policy,
__const struct sched_param *__param) __attribute__ ((__nothrow__));
extern int sched_getscheduler (__pid_t __pid) __attribute__ ((__nothrow__));
extern int sched_yield (void) __attribute__ ((__nothrow__));
extern int sched_get_priority_max (int __algorithm) __attribute__
((__nothrow__));
extern int sched_get_priority_min (int __algorithm) __attribute__
((__nothrow__));
extern int sched_rr_get_interval (__pid_t __pid, struct timespec *__t)
__attribute__ ((__nothrow__));
# 84 "/usr/include/sched.h" 3 4
# 21 "/usr/include/pthread.h" 2 3 4
# 1 "/usr/include/time.h" 1 3 4
# 30 "/usr/include/time.h" 3 4
# 1
"/usr/intel/pkgs/gcc/3.4.2/lib/gcc/i686-pc-linux-gnu/3.4.2/include/stddef.h" 1
3 4
# 39 "/usr/include/time.h" 2 3 4
# 1 "/usr/include/bits/time.h" 1 3 4
# 40 "/usr/include/bits/time.h" 3 4
extern long int __sysconf (int);
# 43 "/usr/include/time.h" 2 3 4
# 58 "/usr/include/time.h" 3 4
typedef __clock_t clock_t;
# 74 "/usr/include/time.h" 3 4
typedef __time_t time_t;
# 92 "/usr/include/time.h" 3 4
typedef __clockid_t clockid_t;
# 104 "/usr/include/time.h" 3 4
typedef __timer_t timer_t;
# 129 "/usr/include/time.h" 3 4
struct tm
{
int tm_sec;
int tm_min;
int tm_hour;
int tm_mday;
int tm_mon;
int tm_year;
int tm_wday;
int tm_yday;
int tm_isdst;
long int tm_gmtoff;
__const char *tm_zone;
};
struct itimerspec
{
struct timespec it_interval;
struct timespec it_value;
};
struct sigevent;
# 178 "/usr/include/time.h" 3 4
extern clock_t clock (void) __attribute__ ((__nothrow__));
extern time_t time (time_t *__timer) __attribute__ ((__nothrow__));
extern double difftime (time_t __time1, time_t __time0)
__attribute__ ((__nothrow__)) __attribute__ ((__const__));
extern time_t mktime (struct tm *__tp) __attribute__ ((__nothrow__));
extern size_t strftime (char *__restrict __s, size_t __maxsize,
__const char *__restrict __format,
__const struct tm *__restrict __tp) __attribute__ ((__nothrow__));
# 226 "/usr/include/time.h" 3 4
extern struct tm *gmtime (__const time_t *__timer) __attribute__
((__nothrow__));
extern struct tm *localtime (__const time_t *__timer) __attribute__
((__nothrow__));
extern struct tm *gmtime_r (__const time_t *__restrict __timer,
struct tm *__restrict __tp) __attribute__ ((__nothrow__));
extern struct tm *localtime_r (__const time_t *__restrict __timer,
struct tm *__restrict __tp) __attribute__ ((__nothrow__));
extern char *asctime (__const struct tm *__tp) __attribute__ ((__nothrow__));
extern char *ctime (__const time_t *__timer) __attribute__ ((__nothrow__));
extern char *asctime_r (__const struct tm *__restrict __tp,
char *__restrict __buf) __attribute__ ((__nothrow__));
extern char *ctime_r (__const time_t *__restrict __timer,
char *__restrict __buf) __attribute__ ((__nothrow__));
extern char *__tzname[2];
extern int __daylight;
extern long int __timezone;
extern char *tzname[2];
extern void tzset (void) __attribute__ ((__nothrow__));
extern int daylight;
extern long int timezone;
extern int stime (__const time_t *__when) __attribute__ ((__nothrow__));
# 309 "/usr/include/time.h" 3 4
extern time_t timegm (struct tm *__tp) __attribute__ ((__nothrow__));
extern time_t timelocal (struct tm *__tp) __attribute__ ((__nothrow__));
extern int dysize (int __year) __attribute__ ((__nothrow__)) __attribute__
((__const__));
# 324 "/usr/include/time.h" 3 4
extern int nanosleep (__const struct timespec *__requested_time,
struct timespec *__remaining);
extern int clock_getres (clockid_t __clock_id, struct timespec *__res)
__attribute__ ((__nothrow__));
extern int clock_gettime (clockid_t __clock_id, struct timespec *__tp)
__attribute__ ((__nothrow__));
extern int clock_settime (clockid_t __clock_id, __const struct timespec *__tp)
__attribute__ ((__nothrow__));
# 353 "/usr/include/time.h" 3 4
extern int timer_create (clockid_t __clock_id,
struct sigevent *__restrict __evp,
timer_t *__restrict __timerid) __attribute__ ((__nothrow__));
extern int timer_delete (timer_t __timerid) __attribute__ ((__nothrow__));
extern int timer_settime (timer_t __timerid, int __flags,
__const struct itimerspec *__restrict __value,
struct itimerspec *__restrict __ovalue) __attribute__ ((__nothrow__));
extern int timer_gettime (timer_t __timerid, struct itimerspec *__value)
__attribute__ ((__nothrow__));
extern int timer_getoverrun (timer_t __timerid) __attribute__ ((__nothrow__));
# 413 "/usr/include/time.h" 3 4
# 22 "/usr/include/pthread.h" 2 3 4
# 1 "/usr/include/signal.h" 1 3 4
# 31 "/usr/include/signal.h" 3 4
# 1 "/usr/include/bits/sigset.h" 1 3 4
# 23 "/usr/include/bits/sigset.h" 3 4
typedef int __sig_atomic_t;
typedef struct
{
unsigned long int __val[(1024 / (8 * sizeof (unsigned long int)))];
} __sigset_t;
# 34 "/usr/include/signal.h" 2 3 4
# 50 "/usr/include/signal.h" 3 4
typedef __sigset_t sigset_t;
# 400 "/usr/include/signal.h" 3 4
# 25 "/usr/include/pthread.h" 2 3 4
# 1 "/usr/include/bits/pthreadtypes.h" 1 3 4
# 23 "/usr/include/bits/pthreadtypes.h" 3 4
# 1 "/usr/include/bits/sched.h" 1 3 4
# 24 "/usr/include/bits/pthreadtypes.h" 2 3 4
struct _pthread_fastlock
{
long int __status;
int __spinlock;
};
typedef struct _pthread_descr_struct *_pthread_descr;
typedef struct __pthread_attr_s
{
int __detachstate;
int __schedpolicy;
struct __sched_param __schedparam;
int __inheritsched;
int __scope;
size_t __guardsize;
int __stackaddr_set;
void *__stackaddr;
size_t __stacksize;
} pthread_attr_t;
__extension__ typedef long long __pthread_cond_align_t;
typedef struct
{
struct _pthread_fastlock __c_lock;
_pthread_descr __c_waiting;
char __padding[48 - sizeof (struct _pthread_fastlock)
- sizeof (_pthread_descr) - sizeof (__pthread_cond_align_t)];
__pthread_cond_align_t __align;
} pthread_cond_t;
typedef struct
{
int __dummy;
} pthread_condattr_t;
typedef unsigned int pthread_key_t;
typedef struct
{
int __m_reserved;
int __m_count;
_pthread_descr __m_owner;
int __m_kind;
struct _pthread_fastlock __m_lock;
} pthread_mutex_t;
typedef struct
{
int __mutexkind;
} pthread_mutexattr_t;
typedef int pthread_once_t;
# 150 "/usr/include/bits/pthreadtypes.h" 3 4
typedef unsigned long int pthread_t;
# 26 "/usr/include/pthread.h" 2 3 4
# 1 "/usr/include/bits/initspin.h" 1 3 4
# 27 "/usr/include/pthread.h" 2 3 4
# 59 "/usr/include/pthread.h" 3 4
enum
{
PTHREAD_CREATE_JOINABLE,
PTHREAD_CREATE_DETACHED
};
enum
{
PTHREAD_INHERIT_SCHED,
PTHREAD_EXPLICIT_SCHED
};
enum
{
PTHREAD_SCOPE_SYSTEM,
PTHREAD_SCOPE_PROCESS
};
enum
{
PTHREAD_MUTEX_TIMED_NP,
PTHREAD_MUTEX_RECURSIVE_NP,
PTHREAD_MUTEX_ERRORCHECK_NP,
PTHREAD_MUTEX_ADAPTIVE_NP
# 100 "/usr/include/pthread.h" 3 4
};
enum
{
PTHREAD_PROCESS_PRIVATE,
PTHREAD_PROCESS_SHARED
};
# 131 "/usr/include/pthread.h" 3 4
struct _pthread_cleanup_buffer
{
void (*__routine) (void *);
void *__arg;
int __canceltype;
struct _pthread_cleanup_buffer *__prev;
};
enum
{
PTHREAD_CANCEL_ENABLE,
PTHREAD_CANCEL_DISABLE
};
enum
{
PTHREAD_CANCEL_DEFERRED,
PTHREAD_CANCEL_ASYNCHRONOUS
};
# 163 "/usr/include/pthread.h" 3 4
extern int pthread_create (pthread_t *__restrict __threadp,
__const pthread_attr_t *__restrict __attr,
void *(*__start_routine) (void *),
void *__restrict __arg) __attribute__ ((__nothrow__));
extern pthread_t pthread_self (void) __attribute__ ((__nothrow__));
extern int pthread_equal (pthread_t __thread1, pthread_t __thread2)
__attribute__ ((__nothrow__));
extern void pthread_exit (void *__retval) __attribute__ ((__noreturn__));
extern int pthread_join (pthread_t __th, void **__thread_return);
extern int pthread_detach (pthread_t __th) __attribute__ ((__nothrow__));
extern int pthread_attr_init (pthread_attr_t *__attr) __attribute__
((__nothrow__));
extern int pthread_attr_destroy (pthread_attr_t *__attr) __attribute__
((__nothrow__));
extern int pthread_attr_setdetachstate (pthread_attr_t *__attr,
int __detachstate) __attribute__ ((__nothrow__));
extern int pthread_attr_getdetachstate (__const pthread_attr_t *__attr,
int *__detachstate) __attribute__ ((__nothrow__));
extern int pthread_attr_setschedparam (pthread_attr_t *__restrict __attr,
__const struct sched_param *__restrict
__param) __attribute__ ((__nothrow__));
extern int pthread_attr_getschedparam (__const pthread_attr_t *__restrict
__attr,
struct sched_param *__restrict __param)
__attribute__ ((__nothrow__));
extern int pthread_attr_setschedpolicy (pthread_attr_t *__attr, int __policy)
__attribute__ ((__nothrow__));
extern int pthread_attr_getschedpolicy (__const pthread_attr_t *__restrict
__attr, int *__restrict __policy)
__attribute__ ((__nothrow__));
extern int pthread_attr_setinheritsched (pthread_attr_t *__attr,
int __inherit) __attribute__ ((__nothrow__));
extern int pthread_attr_getinheritsched (__const pthread_attr_t *__restrict
__attr, int *__restrict __inherit)
__attribute__ ((__nothrow__));
extern int pthread_attr_setscope (pthread_attr_t *__attr, int __scope)
__attribute__ ((__nothrow__));
extern int pthread_attr_getscope (__const pthread_attr_t *__restrict __attr,
int *__restrict __scope) __attribute__ ((__nothrow__));
# 259 "/usr/include/pthread.h" 3 4
extern int pthread_attr_setstackaddr (pthread_attr_t *__attr,
void *__stackaddr) __attribute__ ((__nothrow__));
extern int pthread_attr_getstackaddr (__const pthread_attr_t *__restrict
__attr, void **__restrict __stackaddr)
__attribute__ ((__nothrow__));
# 283 "/usr/include/pthread.h" 3 4
extern int pthread_attr_setstacksize (pthread_attr_t *__attr,
size_t __stacksize) __attribute__ ((__nothrow__));
extern int pthread_attr_getstacksize (__const pthread_attr_t *__restrict
__attr, size_t *__restrict __stacksize)
__attribute__ ((__nothrow__));
# 302 "/usr/include/pthread.h" 3 4
extern int pthread_setschedparam (pthread_t __target_thread, int __policy,
__const struct sched_param *__param)
__attribute__ ((__nothrow__));
extern int pthread_getschedparam (pthread_t __target_thread,
int *__restrict __policy,
struct sched_param *__restrict __param)
__attribute__ ((__nothrow__));
# 332 "/usr/include/pthread.h" 3 4
extern int pthread_mutex_init (pthread_mutex_t *__restrict __mutex,
__const pthread_mutexattr_t *__restrict
__mutex_attr) __attribute__ ((__nothrow__));
extern int pthread_mutex_destroy (pthread_mutex_t *__mutex) __attribute__
((__nothrow__));
extern int pthread_mutex_trylock (pthread_mutex_t *__mutex) __attribute__
((__nothrow__));
extern int pthread_mutex_lock (pthread_mutex_t *__mutex) __attribute__
((__nothrow__));
# 353 "/usr/include/pthread.h" 3 4
extern int pthread_mutex_unlock (pthread_mutex_t *__mutex) __attribute__
((__nothrow__));
extern int pthread_mutexattr_init (pthread_mutexattr_t *__attr) __attribute__
((__nothrow__));
extern int pthread_mutexattr_destroy (pthread_mutexattr_t *__attr)
__attribute__ ((__nothrow__));
extern int pthread_mutexattr_getpshared (__const pthread_mutexattr_t *
__restrict __attr,
int *__restrict __pshared) __attribute__ ((__nothrow__));
extern int pthread_mutexattr_setpshared (pthread_mutexattr_t *__attr,
int __pshared) __attribute__ ((__nothrow__));
# 391 "/usr/include/pthread.h" 3 4
extern int pthread_cond_init (pthread_cond_t *__restrict __cond,
__const pthread_condattr_t *__restrict
__cond_attr) __attribute__ ((__nothrow__));
extern int pthread_cond_destroy (pthread_cond_t *__cond) __attribute__
((__nothrow__));
extern int pthread_cond_signal (pthread_cond_t *__cond) __attribute__
((__nothrow__));
extern int pthread_cond_broadcast (pthread_cond_t *__cond) __attribute__
((__nothrow__));
extern int pthread_cond_wait (pthread_cond_t *__restrict __cond,
pthread_mutex_t *__restrict __mutex);
extern int pthread_cond_timedwait (pthread_cond_t *__restrict __cond,
pthread_mutex_t *__restrict __mutex,
__const struct timespec *__restrict
__abstime);
extern int pthread_condattr_init (pthread_condattr_t *__attr) __attribute__
((__nothrow__));
extern int pthread_condattr_destroy (pthread_condattr_t *__attr) __attribute__
((__nothrow__));
extern int pthread_condattr_getpshared (__const pthread_condattr_t *
__restrict __attr,
int *__restrict __pshared) __attribute__ ((__nothrow__));
extern int pthread_condattr_setpshared (pthread_condattr_t *__attr,
int __pshared) __attribute__ ((__nothrow__));
# 557 "/usr/include/pthread.h" 3 4
extern int pthread_key_create (pthread_key_t *__key,
void (*__destr_function) (void *)) __attribute__ ((__nothrow__));
extern int pthread_key_delete (pthread_key_t __key) __attribute__
((__nothrow__));
extern int pthread_setspecific (pthread_key_t __key,
__const void *__pointer) __attribute__ ((__nothrow__));
extern void *pthread_getspecific (pthread_key_t __key) __attribute__
((__nothrow__));
# 580 "/usr/include/pthread.h" 3 4
extern int pthread_once (pthread_once_t *__once_control,
void (*__init_routine) (void));
extern int pthread_setcancelstate (int __state, int *__oldstate);
extern int pthread_setcanceltype (int __type, int *__oldtype);
extern int pthread_cancel (pthread_t __cancelthread);
extern void pthread_testcancel (void);
# 614 "/usr/include/pthread.h" 3 4
extern void _pthread_cleanup_push (struct _pthread_cleanup_buffer *__buffer,
void (*__routine) (void *),
void *__arg) __attribute__ ((__nothrow__));
extern void _pthread_cleanup_pop (struct _pthread_cleanup_buffer *__buffer,
int __execute) __attribute__ ((__nothrow__));
# 659 "/usr/include/pthread.h" 3 4
# 1 "/usr/include/bits/sigthread.h" 1 3 4
# 31 "/usr/include/bits/sigthread.h" 3 4
extern int pthread_sigmask (int __how,
__const __sigset_t *__restrict __newmask,
__sigset_t *__restrict __oldmask)__attribute__ ((__nothrow__));
extern int pthread_kill (pthread_t __threadid, int __signo) __attribute__
((__nothrow__));
# 660 "/usr/include/pthread.h" 2 3 4
# 675 "/usr/include/pthread.h" 3 4
extern int pthread_atfork (void (*__prepare) (void),
void (*__parent) (void),
void (*__child) (void)) __attribute__ ((__nothrow__));
extern void pthread_kill_other_threads_np (void) __attribute__ ((__nothrow__));
# 3 "test_mt.c" 2
int main() {
pthread_barrier_t test_barrier;
return 0;
}
--
Summary: inconsistency between gcc and g++ with regards to
pthreads
Product: gcc
Version: 3.4.2
Status: UNCONFIRMED
Severity: normal
Priority: P3
Component: c
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: shlomo dot anglister at intel dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=31916
^ permalink raw reply [flat|nested] 2+ messages in thread
* [Bug c/31916] inconsistency between gcc and g++ with regards to pthreads
2007-05-14 6:20 [Bug c/31916] New: inconsistency between gcc and g++ with regards to pthreads shlomo dot anglister at intel dot com
@ 2007-05-14 11:01 ` pinskia at gcc dot gnu dot org
0 siblings, 0 replies; 2+ messages in thread
From: pinskia at gcc dot gnu dot org @ 2007-05-14 11:01 UTC (permalink / raw)
To: gcc-bugs
------- Comment #1 from pinskia at gcc dot gnu dot org 2007-05-14 12:00 -------
And this is not a GCC bug, define _GNU_SOURCE in the C case if you want the
extra functionality from glibc. g++ defines it because libstdc++ uses some of
it in its headers.
--
pinskia at gcc dot gnu dot org changed:
What |Removed |Added
----------------------------------------------------------------------------
Status|UNCONFIRMED |RESOLVED
Resolution| |INVALID
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=31916
^ permalink raw reply [flat|nested] 2+ messages in thread
end of thread, other threads:[~2007-05-14 11:01 UTC | newest]
Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2007-05-14 6:20 [Bug c/31916] New: inconsistency between gcc and g++ with regards to pthreads shlomo dot anglister at intel dot com
2007-05-14 11:01 ` [Bug c/31916] " pinskia at gcc dot gnu dot org
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).