mirror of
https://github.com/DarkPlacesEngine/gmqcc.git
synced 2024-11-23 20:33:05 +00:00
Merge branch 'master' into ast-and-ir
This commit is contained in:
commit
8c91adeb9f
2 changed files with 19 additions and 24 deletions
21
Makefile_win
21
Makefile_win
|
@ -1,21 +0,0 @@
|
||||||
CC = i486-mingw32-gcc
|
|
||||||
CFLAGS += -Wall
|
|
||||||
OBJ = main.o \
|
|
||||||
lex.o \
|
|
||||||
error.o \
|
|
||||||
parse.o \
|
|
||||||
typedef.o \
|
|
||||||
util.o \
|
|
||||||
code.o \
|
|
||||||
asm.o \
|
|
||||||
ast.o \
|
|
||||||
ir.o
|
|
||||||
|
|
||||||
%.o: %.c
|
|
||||||
$(CC) -c $< -o $@ $(CFLAGS)
|
|
||||||
|
|
||||||
gmqcc: $(OBJ)
|
|
||||||
$(CC) -o $@ $^ $(CFLAGS)
|
|
||||||
|
|
||||||
clean:
|
|
||||||
rm -f *.o gmqcc
|
|
22
gmqcc.h
22
gmqcc.h
|
@ -119,9 +119,25 @@
|
||||||
typedef long int32_t;
|
typedef long int32_t;
|
||||||
typedef unsigned long uint32_t;
|
typedef unsigned long uint32_t;
|
||||||
|
|
||||||
/* bail on 64 bit type! */
|
/*
|
||||||
typedef char int64_t;
|
* It's nearly impossible to figure out a 64bit type at
|
||||||
typedef char uint64_t;
|
* this point without making assumptions about the build
|
||||||
|
* enviroment. So if clang or gcc is detected use some
|
||||||
|
* compiler builtins to create a 64 signed and unsigned
|
||||||
|
* type.
|
||||||
|
*/
|
||||||
|
# if defined(__GNUC__) || defined (__CLANG__)
|
||||||
|
typedef int int64_t __attribute__((__mode__(__DI__)));
|
||||||
|
typedef unsigned int uint64_t __attribute__((__mode__(__DI__)));
|
||||||
|
# else
|
||||||
|
/*
|
||||||
|
* Incoorectly size the types so static assertions below will
|
||||||
|
* fail. There is no valid way to get a 64bit type at this point
|
||||||
|
* without making assumptions of too many things.
|
||||||
|
*/
|
||||||
|
typedef char int64_t;
|
||||||
|
typedef char uint64_t;
|
||||||
|
# endif
|
||||||
#endif
|
#endif
|
||||||
#ifdef _LP64 /* long pointer == 64 */
|
#ifdef _LP64 /* long pointer == 64 */
|
||||||
typedef unsigned long uintptr_t;
|
typedef unsigned long uintptr_t;
|
||||||
|
|
Loading…
Reference in a new issue