[prev in list] [next in list] [prev in thread] [next in thread]
List: gcc
Subject: [PATCH 5/5] libgcc: vxworks: don't set __GTHREAD_CXX0X for vxworks 5.x
From: Rasmus Villemoes <rv () rasmusvillemoes ! dk>
Date: 2020-05-26 14:52:37
Message-ID: 20200526145237.17765-6-rv () rasmusvillemoes ! dk
[Download RAW message or body]
gthr-vxworks-thread.c fails to compile for vxworks 5.x:
libgcc/config/gthr-vxworks-thread.c:268:14: error: 'VX_USR_TASK_OPTIONS' undeclared \
(first use in this function) 268 | options &= VX_USR_TASK_OPTIONS;
| ^~~~~~~~~~~~~~~~~~~
libgcc/config/gthr-vxworks-thread.c:282:3: error: unknown type name 'TASK_ID'
282 | TASK_ID task_id = taskCreate (NULL,
| ^~~~~~~
As for __GTHREAD_HAS_COND, use __GTHREAD_CXX0X to guard the actual
contents of gthr-vxworks-thread.c. That should also allow dropping the
t-gthr-vxworksae fragment and simply use t-gthr-vxworks.
---
libgcc/config/gthr-vxworks-thread.c | 4 ++++
libgcc/config/gthr-vxworks.h | 4 ++--
2 files changed, 6 insertions(+), 2 deletions(-)
diff --git a/libgcc/config/gthr-vxworks-thread.c \
b/libgcc/config/gthr-vxworks-thread.c index 8544b03dd18..183198577eb 100644
--- a/libgcc/config/gthr-vxworks-thread.c
+++ b/libgcc/config/gthr-vxworks-thread.c
@@ -30,6 +30,8 @@ see the files COPYING3 and COPYING.RUNTIME respectively. If not, \
see #include "gthr.h"
#include <taskLib.h>
+#if __GTHREAD_CXX0X
+
#define __TIMESPEC_TO_NSEC(timespec) \
((long long)timespec.tv_sec * 1000000000 + (long long)timespec.tv_nsec)
@@ -347,3 +349,5 @@ __gthread_detach (__gthread_t __threadid)
return OK;
}
+
+#endif
diff --git a/libgcc/config/gthr-vxworks.h b/libgcc/config/gthr-vxworks.h
index 91e3d94ac67..14e7d54b022 100644
--- a/libgcc/config/gthr-vxworks.h
+++ b/libgcc/config/gthr-vxworks.h
@@ -263,7 +263,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
@@ -326,7 +326,7 @@ extern int __gthread_detach (__gthread_t thread);
extern __gthread_t __gthread_self (void);
-#endif
+#endif /* _VXWORKS_MAJOR_GE(6) && !defined(VTHREADS) */
#ifdef __cplusplus
}
--
2.23.0
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic