Commit graph

102 commits

Author SHA1 Message Date
Wolfgang Bumiller
c81eb57480 reuse old opts_, renamed all opt_ to opts_ to be consistent, making code.c use OPTS_FLAG() for OMIT_NULL_BYTES and DARKPLACES_STRING_TABLE_BUG 2012-07-28 19:20:19 +02:00
Wolfgang Bumiller
25e49a669d flags.def and warns.def containing defined flags and warnings 2012-07-28 19:09:44 +02:00
Wolfgang Bumiller
ac26c2f2f2 Add -foverlap-locals - something we really should make possible 2012-07-28 14:48:02 +02:00
Wolfgang Bumiller
3072ce7eba Added handler for -W 2012-07-28 13:59:35 +02:00
Wolfgang Bumiller
ddfd44e2a4 gcc style long option support and -std=foo added 2012-07-28 12:59:33 +02:00
Wolfgang Bumiller
3c462539a6 Commandline handling first draft 2012-07-28 12:36:20 +02:00
Wolfgang Bumiller
f8b3081c44 Merging master and adapting _MEM_* on new mem-vector functions 2012-07-27 19:13:03 +02:00
Wolfgang Bumiller
81fd77da38 _MEM_... -> MEM_... 2012-07-27 19:02:18 +02:00
Wolfgang Bumiller
43897f6e8f store_param storetype, parameter value list added to ast_function 2012-07-22 12:07:30 +02:00
Wolfgang Bumiller
478d5ef5ad type_storep_instr: in theory we could use type_store_instr + INSTR_STOREP_F - INSTR_STORE_F, however, this won't work later when TYPE_INTEGER comes in since the _I instructions are at a seperate place 2012-07-16 10:24:35 +02:00
Wolfgang Bumiller
e8cc27df5b type_store_instr[] to get an INSTR_STORE_x by type 2012-07-03 22:46:38 +02:00
Wolfgang (Blub) Bumiller
97f34d9add fixed a typo in asm_instr[]: ES_FNC->EQ_FNC 2012-06-29 15:41:56 +02:00
Wolfgang (Blub) Bumiller
67b75055b2 adding another storage type: store_return; when generating a CALL, the generator can check the output value's storetype, and if it is NOT store_return, it needs to STORE_x the return value into the output value. 2012-06-29 14:37:12 +02:00
Wolfgang (Blub) Bumiller
9e7143d934 Fixing GMQCC_SUPPRESS_EMPTY_BODY typo 2012-06-28 17:23:01 +02:00
Wolfgang (Blub) Bumiller
080e6e5dfb exec.h -> gmqcc.h 2012-06-27 22:31:56 +02:00
Wolfgang (Blub) Bumiller
f1a2ac624f Moving prog_section and prog_header to gmqcc.h to not have it twice: previously was in code.c and exec.h 2012-06-27 22:04:58 +02:00
Wolfgang (Blub) Bumiller
2fd3ddcb1a moved mem_resize and mem_append vector function macros into gmqcc.h 2012-06-27 14:50:52 +02:00
Wolfgang (Blub) Bumiller
60542f7df0 generation of COND and JUMP now works 2012-06-25 19:27:50 +02:00
Dale Weiler
04cf1d549f Merge branch 'irgen' 2012-06-07 11:24:55 -04:00
Dale Weiler
72f3af6c50 Better fail 2012-06-07 11:24:28 -04:00
Dale Weiler
15d4534202 Fixed more warnings 2012-06-07 11:18:04 -04:00
Dale Weiler
f4bc6ba08a Removed even more warnings 2012-06-07 11:09:29 -04:00
Dale Weiler
d59819620b s/\t/ /g 2012-06-07 10:20:54 -04:00
Dale Weiler
4e9fc02a95 splint: use typedef instead of macro 2012-06-07 10:19:00 -04:00
Dale Weiler
127ad76c65 Whitespace 2012-05-11 12:02:22 -04:00
Wolfgang Bumiller
1fd7e30de6 code_cachedstring 2012-05-09 15:03:19 +02:00
Wolfgang Bumiller
edcb976053 Convenience function to store a predefined string in the qc string area 2012-05-09 15:03:19 +02:00
Wolfgang Bumiller
8bfbe4d619 Preparing to generate code from the IR - code_write should return a bool, and take a filename rather than use program.dat hardcoded 2012-05-09 15:03:19 +02:00
Dale Weiler
4a1f67bb97 Updated readme 2012-05-06 16:58:30 -04:00
Dale Weiler
99971b7806 util_strncmpexact 2012-05-04 22:01:02 -04:00
Dale Weiler
510d795c06 More assembler code (less allocations too) 2012-05-03 16:54:34 -04:00
Dale Weiler
629f6f1e63 Assembly statement parsing 2012-05-01 18:05:11 -04:00
Dale Weiler
95152c1f5c VECTOR_PROT 2012-04-29 19:08:20 -04:00
Dale Weiler
f19cbe1400 Parse vector constants and add them to the constants table now for the assembler. 2012-04-29 19:03:06 -04:00
Dale Weiler
5d64001c36 64bit signed/unsigned integer support from the compiler if LONG_MAX != 0x7FFFFFFF 2012-04-29 12:09:30 -04:00
Dale Weiler
3e7a8c0e78 All code is now C89/C90 compat 2012-04-28 18:56:09 -04:00
Dale Weiler
05966ee009 Remove trailing whitespace from everything 2012-04-28 16:43:39 -04:00
Dale Weiler
7a81848d88 Lexer fixes 2012-04-28 16:25:43 -04:00
Dale Weiler
df9a685f61 surpress empty bodies 2012-04-28 15:13:41 -04:00
Wolfgang Bumiller
f3a9c8c362 2 missind free->mem_d in MEM_VECTOR macros 2012-04-28 11:50:09 +02:00
Dale Weiler
b09d75518c almost ISO C now, fixed all the MEM_VECTOR trailing semicolon issues. 2012-04-28 05:54:24 -04:00
Wolfgang Bumiller
75b78720fd lex_ctx_t -> lex_ctx, vector_t -> vector 2012-04-28 11:15:29 +02:00
Dale Weiler
72053e16d2 Interface change 2012-04-28 05:35:32 -04:00
Dale Weiler
33b1995fa5 struct lex_file -> lex_file 2012-04-28 05:25:19 -04:00
Dale Weiler
89ed723efa astir.h -> gmqcc.h 2012-04-28 05:08:03 -04:00
Wolfgang Bumiller
da827e6098 Removed the qc_type enum and replaced all qc_* by TYPE_* 2012-04-28 10:42:03 +02:00
Dale Weiler
858d9734a2 Merge branch 'assembler' into ast-and-ir 2012-04-28 04:12:24 -04:00
Dale Weiler
de01d34925 type parsing for constants, globals and locals. Sanatize constants to select internal functions to prevent possible runtime issues that could be a result of atoi working for what we consider invalid strings containing constants. 2012-04-28 03:53:23 -04:00
Dale Weiler
07c6aea7dc assembler can parse internal functions. Wrote all internal functions (that are not extensions) to test.qs 2012-04-28 03:26:40 -04:00
Dale Weiler
403901d6ee More assembly work 2012-04-28 02:34:39 -04:00