Inhibit support for C++0x threads on VxWorks < 6

As for condition variables, the C++0x threads support relies on
VxWorks entry points not available in VxWorks versions prior to 6.

We just expose absence of support for C++0x threads on such systems.

2020-10-15  Rasmus Villemoes  <rv@rasmusvillemoes.dk>

libgcc/
	* config/gthr-vxworks.h: Condition the ___GTHREADS_CXX0X
	section on VxWorks >= 6.
	* config/gthr-vxworks-thread.c: Condition the entire
	implementation on __GTHREAD_CXX0X.
This commit is contained in:
Rasmus Villemoes 2020-10-02 15:31:58 +00:00 committed by Olivier Hainque
parent e94d5836e5
commit a6590686f7
2 changed files with 6 additions and 2 deletions

View File

@ -27,6 +27,8 @@ see the files COPYING3 and COPYING.RUNTIME respectively. If not, see
exposed by gthr-vxworks.h, using APIs exposed by regular (!AE/653)
VxWorks kernels. */
#if __GTHREAD_CXX0X
#include "gthr.h"
#include <taskLib.h>
#include <stdlib.h>
@ -384,3 +386,5 @@ __gthread_detach (__gthread_t __threadid)
return OK;
}
#endif

View File

@ -267,7 +267,7 @@ extern int __gthread_cond_wait_recursive (__gthread_cond_t *cond,
/* We do not support C++0x threads on that VxWorks 653, which we can
recognize by VTHREADS being defined. */
#ifndef VTHREADS
#if _VXWORKS_MAJOR_GE(6) && !defined(VTHREADS)
#define __GTHREADS_CXX0X 1
@ -330,7 +330,7 @@ extern int __gthread_detach (__gthread_t thread);
extern __gthread_t __gthread_self (void);
#endif
#endif /* _VXWORKS_MAJOR_GE(6) && !defined(VTHREADS) */
#ifdef __cplusplus
}