mirror of
https://github.com/gcc-mirror/gcc.git
synced 2026-05-06 14:59:39 +02:00
Refine definitions for wchar_t/wint_t on VxWorks
This change refines the VxWorks macro definitions configuring wchar_t to accommodate the VxWorks7 environment, where wchar_t is now typically a 32bit type. We also ensure that the definitions for wint_t are always based on those for wchar_t, so the two remain in sync in environments where WCHAR_TYPE is redefined for a specific CPU architecture. 2019-12-30 Alexandre Oliva <oliva@adacore.com> Olivier Hainque <hainque@adacore.com> * config/vx-common.h (WCHAR_TYPE_SIZE): 32 on VxWorks 7. (WCHAR_TYPE): Pick accordingly. (WINT_TYPE_SIZE): Define in terms of WCHAR_TYPE_SIZE. (WINT_TYPE): Define in terms of WCHAR_TYPE. Co-Authored-By: Olivier Hainque <hainque@adacore.com> From-SVN: r279780
This commit is contained in:
committed by
Olivier Hainque
parent
4e6bcaa662
commit
1361ae0e76
@@ -1,3 +1,11 @@
|
||||
2019-12-30 Alexandre Oliva <oliva@adacore.com>
|
||||
Olivier Hainque <hainque@adacore.com>
|
||||
|
||||
* config/vx-common.h (WCHAR_TYPE_SIZE): 32 on VxWorks 7.
|
||||
(WCHAR_TYPE): Pick accordingly.
|
||||
(WINT_TYPE_SIZE): Define in terms of WCHAR_TYPE_SIZE.
|
||||
(WINT_TYPE): Define in terms of WCHAR_TYPE.
|
||||
|
||||
2019-12-30 Olivier Hainque <hainque@adacore.com>
|
||||
|
||||
* config/vx-common.h: Minor reorganization and add
|
||||
|
||||
@@ -43,17 +43,32 @@ along with GCC; see the file COPYING3. If not see
|
||||
|
||||
/* ----------------------- Common type descriptions ----------------------- */
|
||||
|
||||
/* VxWorks uses wchar_t == unsigned short (UCS2) on all architectures. */
|
||||
/* Regardless of the target architecture, VxWorks uses a signed 32bit
|
||||
integer for wchar_t starting with vx7 SR06xx. An unsigned short
|
||||
otherwise. */
|
||||
#if TARGET_VXWORKS7
|
||||
|
||||
#undef WCHAR_TYPE_SIZE
|
||||
#define WCHAR_TYPE_SIZE 32
|
||||
#undef WCHAR_TYPE
|
||||
#define WCHAR_TYPE "short unsigned int"
|
||||
#define WCHAR_TYPE (TARGET_VXWORKS64 ? "int" : "long int")
|
||||
|
||||
#else
|
||||
|
||||
#undef WCHAR_TYPE_SIZE
|
||||
#define WCHAR_TYPE_SIZE 16
|
||||
#undef WCHAR_TYPE
|
||||
#define WCHAR_TYPE "short unsigned int"
|
||||
|
||||
/* Likewise wint_t. */
|
||||
#undef WINT_TYPE
|
||||
#define WINT_TYPE "short unsigned int"
|
||||
#endif
|
||||
|
||||
/* The VxWorks headers base wint_t on the definitions used for wchar_t.
|
||||
Do the same here to make sure they remain in sync, in case WCHAR_TYPE
|
||||
gets redefined for a specific CPU architecture. */
|
||||
#undef WINT_TYPE_SIZE
|
||||
#define WINT_TYPE_SIZE 16
|
||||
#define WINT_TYPE_SIZE WCHAR_TYPE_SIZE
|
||||
#undef WINT_TYPE
|
||||
#define WINT_TYPE WCHAR_TYPE
|
||||
|
||||
/* ---------------------- Debug and unwind info formats ------------------ */
|
||||
|
||||
|
||||
Reference in New Issue
Block a user