Skip to content

Commit 1235372

Browse files
Merge pull request #104 from suve/fix-delphi-issues
Fix Delphi issues
2 parents 1eca313 + e8b7aa8 commit 1235372

File tree

1 file changed

+29
-11
lines changed

1 file changed

+29
-11
lines changed

units/ctypes.inc

Lines changed: 29 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -28,10 +28,6 @@ type
2828
cbool = LongBool;
2929
{$EXTERNALSYM cbool}
3030

31-
pcint = ^cint;
32-
cint = Integer;
33-
{$EXTERNALSYM cint}
34-
3531
pcint8 = ^cint8;
3632
cint8 = ShortInt;
3733
{$EXTERNALSYM cint8}
@@ -56,12 +52,6 @@ type
5652
cuint32 = LongWord;
5753
{$EXTERNALSYM cuint32}
5854

59-
culong = LongWord;
60-
{$EXTERNALSYM culong}
61-
62-
cuint = LongWord;
63-
{$EXTERNALSYM cuint}
64-
6555
{$IFNDEF Has_Int64}
6656
pcint64 = ^cint64;
6757
cint64 = record
@@ -92,11 +82,39 @@ type
9282
{$ELSE}
9383
csize_t = cuint64;
9484
{$ENDIF}
95-
{$EXTERNALSYM SIZE_T}
85+
{$EXTERNALSYM csize_t}
9686

9787
pcfloat = ^cfloat;
9888
cfloat = Single;
9989
{$EXTERNALSYM cfloat}
90+
91+
pcint = ^cint;
92+
pcuint = ^cuint;
93+
pclong = ^clong;
94+
pculong = ^culong;
95+
{
96+
Integer type sizes based on:
97+
https://en.cppreference.com/w/c/language/arithmetic_types#Data_models
98+
}
99+
cint = cint32;
100+
cuint = cuint32;
101+
{$IF DEFINED(CPU32) OR DEFINED(CPU32BITS)}
102+
clong = cint32;
103+
culong = cuint32;
104+
{$ELSE} // 64-bit
105+
{$IFDEF MSWINDOWS}
106+
clong = cint32;
107+
culong = cuint32;
108+
{$ELSE}
109+
clong = cint64;
110+
culong = cuint64;
111+
{$ENDIF}
112+
{$ENDIF}
113+
{$EXTERNALSYM cint}
114+
{$EXTERNALSYM cuint}
115+
{$EXTERNALSYM clong}
116+
{$EXTERNALSYM culong}
117+
100118
{$ENDIF}
101119

102120
{ Data types for all compilers }

0 commit comments

Comments
 (0)