summaryrefslogtreecommitdiffstats
path: root/c/src/exec/score/cpu/unix/unixtypes.h
diff options
context:
space:
mode:
Diffstat (limited to 'c/src/exec/score/cpu/unix/unixtypes.h')
-rw-r--r--c/src/exec/score/cpu/unix/unixtypes.h16
1 files changed, 15 insertions, 1 deletions
diff --git a/c/src/exec/score/cpu/unix/unixtypes.h b/c/src/exec/score/cpu/unix/unixtypes.h
index f1dc442baa..45f5cf9366 100644
--- a/c/src/exec/score/cpu/unix/unixtypes.h
+++ b/c/src/exec/score/cpu/unix/unixtypes.h
@@ -24,20 +24,34 @@ extern "C" {
#endif
/*
+ * some C++ compilers (eg: HP's) don't do 'signed' or 'volatile'
+ */
+#if defined(__cplusplus) && !defined(__GNUC__)
+#define signed
+#define volatile
+#endif
+
+/*
* This section defines the basic types for this processor.
*/
typedef unsigned char unsigned8; /* unsigned 8-bit integer */
typedef unsigned short unsigned16; /* unsigned 16-bit integer */
typedef unsigned int unsigned32; /* unsigned 32-bit integer */
-typedef unsigned long long unsigned64; /* unsigned 64-bit integer */
typedef unsigned16 Priority_Bit_map_control;
typedef signed char signed8; /* 8-bit signed integer */
typedef signed short signed16; /* 16-bit signed integer */
typedef signed int signed32; /* 32-bit signed integer */
+
+/*
+ * some C++ compilers (eg: HP's) don't do 'long long'
+ */
+#if defined(__GNUC__)
+typedef unsigned long long unsigned64; /* unsigned 64-bit integer */
typedef signed long long signed64; /* 64 bit signed integer */
+#endif
typedef unsigned32 boolean; /* Boolean value */