hedgewars/pas2c.h
changeset 6971 b7b38e051b5f
parent 6967 1224c6fb36c3
child 7002 5d817ba976f7
--- a/hedgewars/pas2c.h	Tue May 01 11:39:11 2012 +0200
+++ b/hedgewars/pas2c.h	Tue May 01 11:25:44 2012 +0100
@@ -1,5 +1,6 @@
 #pragma once
 
+#include <stdint.h>
 #include <stdbool.h>
 
 typedef union string255_
@@ -25,14 +26,16 @@
         char s[16];
     } string15;
 
-typedef int SmallInt;
-typedef int Word;
-typedef int LongInt;
-typedef int LongWord;
-typedef int Byte;
-typedef int Integer;
-typedef long long int QWord;
+typedef uint8_t Byte;
+typedef int8_t ShortInt;
+typedef uint16_t Word;
+typedef int16_t SmallInt;
+typedef uint32_t LongWord;
+typedef int32_t LongInt;
+typedef uint64_t QWord;
+typedef int64_t Int64;
 
+typedef LongInt Integer;
 typedef float extended;
 typedef float real;
 
@@ -44,6 +47,17 @@
 typedef LongInt * PLongInt;
 typedef Integer * PInteger;
 
+#ifdef __GNUG__
+#define NULL __null
+#else   /* G++ */
+/* shield NULL definition for non-gnu parsers */
+#ifndef __cplusplus
+#define NULL ((void *)0)
+#else
+#define NULL 0
+#endif  /* __cplusplus */
+#endif  /* G++ */
+
 #define new(a) __new((void **)&a, sizeof(*(a)))
 void __new(void ** p, int size);