# HG changeset patch # User koda # Date 1335867944 -3600 # Node ID b7b38e051b5f22e9e62ef57e74039082f349fa92 # Parent 59f33a6a4814a625c5fe2bb92087dd56b21bf696 add NULL definition and align types to their correct bitwidth diff -r 59f33a6a4814 -r b7b38e051b5f hedgewars/pas2c.h --- 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 #include 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);