author | unc0rr |
Fri, 20 Apr 2012 22:56:56 +0400 | |
changeset 6896 | 23b38e530967 |
parent 6895 | 31def088a870 |
child 6898 | 344b0dbd9690 |
permissions | -rw-r--r-- |
6875
6528171ce36d
First try to compile with clang: improve renderer a bit. The result of pas2c is still far from normal C source.
unc0rr
parents:
diff
changeset
|
1 |
#pragma once |
6528171ce36d
First try to compile with clang: improve renderer a bit. The result of pas2c is still far from normal C source.
unc0rr
parents:
diff
changeset
|
2 |
|
6878
0af34406b83d
Improve rendering of function types, arrays, and more
unc0rr
parents:
6875
diff
changeset
|
3 |
#include <stdbool.h> |
0af34406b83d
Improve rendering of function types, arrays, and more
unc0rr
parents:
6875
diff
changeset
|
4 |
|
6896
23b38e530967
Move all strings into constants to make them of string255 type
unc0rr
parents:
6895
diff
changeset
|
5 |
typedef union string255_ |
6883 | 6 |
{ |
6896
23b38e530967
Move all strings into constants to make them of string255 type
unc0rr
parents:
6895
diff
changeset
|
7 |
struct { |
23b38e530967
Move all strings into constants to make them of string255 type
unc0rr
parents:
6895
diff
changeset
|
8 |
char s[256]; |
23b38e530967
Move all strings into constants to make them of string255 type
unc0rr
parents:
6895
diff
changeset
|
9 |
}; |
23b38e530967
Move all strings into constants to make them of string255 type
unc0rr
parents:
6895
diff
changeset
|
10 |
struct { |
23b38e530967
Move all strings into constants to make them of string255 type
unc0rr
parents:
6895
diff
changeset
|
11 |
char len; |
23b38e530967
Move all strings into constants to make them of string255 type
unc0rr
parents:
6895
diff
changeset
|
12 |
char str[255]; |
23b38e530967
Move all strings into constants to make them of string255 type
unc0rr
parents:
6895
diff
changeset
|
13 |
}; |
6883 | 14 |
} string255; |
6889 | 15 |
typedef struct string192_ |
16 |
{ |
|
17 |
char s[193]; |
|
18 |
} string192; |
|
19 |
typedef struct string31_ |
|
20 |
{ |
|
21 |
char s[32]; |
|
22 |
} string31; |
|
6891
ab9843957664
Improve rendering of function types, ranges, and more
unc0rr
parents:
6889
diff
changeset
|
23 |
typedef struct string15_ |
ab9843957664
Improve rendering of function types, ranges, and more
unc0rr
parents:
6889
diff
changeset
|
24 |
{ |
ab9843957664
Improve rendering of function types, ranges, and more
unc0rr
parents:
6889
diff
changeset
|
25 |
char s[16]; |
ab9843957664
Improve rendering of function types, ranges, and more
unc0rr
parents:
6889
diff
changeset
|
26 |
} string15; |
6875
6528171ce36d
First try to compile with clang: improve renderer a bit. The result of pas2c is still far from normal C source.
unc0rr
parents:
diff
changeset
|
27 |
|
6528171ce36d
First try to compile with clang: improve renderer a bit. The result of pas2c is still far from normal C source.
unc0rr
parents:
diff
changeset
|
28 |
typedef int SmallInt; |
6528171ce36d
First try to compile with clang: improve renderer a bit. The result of pas2c is still far from normal C source.
unc0rr
parents:
diff
changeset
|
29 |
typedef int Word; |
6528171ce36d
First try to compile with clang: improve renderer a bit. The result of pas2c is still far from normal C source.
unc0rr
parents:
diff
changeset
|
30 |
typedef int LongInt; |
6528171ce36d
First try to compile with clang: improve renderer a bit. The result of pas2c is still far from normal C source.
unc0rr
parents:
diff
changeset
|
31 |
typedef int LongWord; |
6528171ce36d
First try to compile with clang: improve renderer a bit. The result of pas2c is still far from normal C source.
unc0rr
parents:
diff
changeset
|
32 |
typedef int Byte; |
6878
0af34406b83d
Improve rendering of function types, arrays, and more
unc0rr
parents:
6875
diff
changeset
|
33 |
typedef int Integer; |
6886 | 34 |
typedef long long int QWord; |
6878
0af34406b83d
Improve rendering of function types, arrays, and more
unc0rr
parents:
6875
diff
changeset
|
35 |
|
0af34406b83d
Improve rendering of function types, arrays, and more
unc0rr
parents:
6875
diff
changeset
|
36 |
typedef float extended; |
0af34406b83d
Improve rendering of function types, arrays, and more
unc0rr
parents:
6875
diff
changeset
|
37 |
typedef float real; |
0af34406b83d
Improve rendering of function types, arrays, and more
unc0rr
parents:
6875
diff
changeset
|
38 |
|
0af34406b83d
Improve rendering of function types, arrays, and more
unc0rr
parents:
6875
diff
changeset
|
39 |
typedef bool boolean; |
6875
6528171ce36d
First try to compile with clang: improve renderer a bit. The result of pas2c is still far from normal C source.
unc0rr
parents:
diff
changeset
|
40 |
|
6528171ce36d
First try to compile with clang: improve renderer a bit. The result of pas2c is still far from normal C source.
unc0rr
parents:
diff
changeset
|
41 |
typedef void * pointer; |
6878
0af34406b83d
Improve rendering of function types, arrays, and more
unc0rr
parents:
6875
diff
changeset
|
42 |
typedef Byte * PByte; |
0af34406b83d
Improve rendering of function types, arrays, and more
unc0rr
parents:
6875
diff
changeset
|
43 |
typedef char * PChar; |
0af34406b83d
Improve rendering of function types, arrays, and more
unc0rr
parents:
6875
diff
changeset
|
44 |
typedef LongInt * PLongInt; |
0af34406b83d
Improve rendering of function types, arrays, and more
unc0rr
parents:
6875
diff
changeset
|
45 |
typedef Integer * PInteger; |
6875
6528171ce36d
First try to compile with clang: improve renderer a bit. The result of pas2c is still far from normal C source.
unc0rr
parents:
diff
changeset
|
46 |
|
6894 | 47 |
#define new(a) __new(a, sizeof(*(a))) |
6895 | 48 |
void __new(pointer p, int size); |
49 |
||
50 |
#define dispose(a) __dispose(a, sizeof(*(a))) |
|
51 |
void __dispose(pointer p, int size); |
|
6894 | 52 |
|
53 |
#define FillChar(a, b, c) __FillChar(&(a), b, c) |
|
54 |
||
55 |
void __FillChar(pointer p, int size, char fill); |
|
56 |
string255 _strconcat(string255 a, string255 b); |
|
57 |
||
6895 | 58 |
int Length(string255 a); |
59 |
string255 copy(string255 a, int s, int l); |
|
60 |
string255 delete(string255 a, int s, int l); |
|
61 |
||
6896
23b38e530967
Move all strings into constants to make them of string255 type
unc0rr
parents:
6895
diff
changeset
|
62 |
#define STRCONSTDECL(a, b) const string255 a = {.len = sizeof(b), .str = b} |