Commit graph

370 commits

Author SHA1 Message Date
Dale Weiler
6951f3dfcc fix comments 2012-12-23 07:19:49 +00:00
Dale Weiler
4224ac5ca0 fixes, and removed a #pragma warning(disable ...) in MSVC .. thanks to the FILE wrapping interface. 2012-12-23 07:18:00 +00:00
Dale Weiler
d18656c2dc Cleanup flexible array / vector system 2012-12-23 07:14:16 +00:00
Dale Weiler
13003bf6af Wrapper around FILE to take advantage of MSVC "secure" CRT. We don't actually defend bounds checks (we just hack in the few ones to silent MSVC .. and to pass WinRT "native code" rules) 2012-12-23 06:05:22 +00:00
Dale Weiler
322fbaf389 More cleanups 2012-12-22 07:54:14 +00:00
Dale Weiler
7753e19ba8 Cleanups 2012-12-22 07:24:25 +00:00
Dale Weiler
88fee02228 Windows stuff for visual studio now offical works with exception to colorized output to cmd (which actually should work). As well as the testsuite which lacks implementations of task_popen/task_pclose. 2012-12-21 06:16:08 -05:00
Dale Weiler
3c003bc168 Get gmqcc/qcvm compiling on windows again. Plus work in progress support for the testsuite on windows (does not compile yet). 2012-12-21 01:00:51 -05:00
Dale Weiler
c7a62970a6 Merge branch 'master' of github.com:graphitemaster/gmqcc 2012-12-20 23:07:33 +00:00
Dale Weiler
e1f0e40341 Implemented roboust compile-time endianess check. 2012-12-20 23:07:06 +00:00
Wolfgang Bumiller
e38bdecd21 Be more correct with sizes; use a better local-alloc strategy 2012-12-20 23:48:41 +01:00
Wolfgang Bumiller
1d3fdea432 Fix util_endianswap; and endianswap the LNO data as well 2012-12-20 22:03:51 +01:00
Wolfgang Bumiller
6cd821d459 -Werror-<warning> should actually use opts_setwerror 2012-12-20 16:53:09 +01:00
Wolfgang Bumiller
b360245b45 -Werror-<warning>, -Wno-error-<warning>, manpage updated 2012-12-20 16:49:10 +01:00
Dale Weiler
2e57a952a7 No more hacks 2012-12-20 10:20:16 +00:00
Dale Weiler
9f742271b1 Another fix 2012-12-20 08:19:43 +00:00
Dale Weiler
d7585a810a FTBFS fixes 2012-12-20 08:17:04 +00:00
Wolfgang (Blub) Bumiller
afaa162aa1 Applying the actual 'Fix FTFBS stuff' part 2012-12-19 22:17:22 +01:00
Wolfgang (Blub) Bumiller
57aaf57dfc Revert "Fix FTFBS stuff"
This reverts commit 2cc51b8eb0.
2012-12-19 22:15:38 +01:00
Dale Weiler
2cc51b8eb0 Fix FTFBS stuff 2012-12-19 21:05:40 +00:00
Wolfgang (Blub) Bumiller
384446316a VINSTR_NRCALL, translated like any other call for now; to be used to mark a call which never returns, ie the error builtin 2012-12-19 20:38:32 +01:00
Rudolf Polzer
acf4da9385 Fixes for some minor bugs clang-analyzer and cppcheck found
Signed-off-by: Dale Weiler <killfieldengine@gmail.com>
2012-12-18 16:54:51 +00:00
Wolfgang (Blub) Bumiller
dccafd65ac More jump removal 2012-12-18 14:03:20 +01:00
Dale Weiler
2587aed697 Allow setting configuration file via commandline 2012-12-18 05:22:23 +00:00
Dale Weiler
4b3e2571af Cleanups of compiler option configuration. Added ini/cfg parser system as well. 2012-12-18 04:57:17 +00:00
Wolfgang (Blub) Bumiller
fe344cb5b2 vcompile_error, vcompile_warning; fixed: removed opts_ globals from con.c; made the lexer use vcompile_warning 2012-12-17 18:22:33 +01:00
Wolfgang (Blub) Bumiller
f7bc1dca08 Revert "Not defining GMQCC_VERSION_ in gmqcc.h but checking if they're defiend and #error if not - they're set in the Makefile - please fix windows builds"
This reverts commit a473979cf5.

-- because visual studio sucks
2012-12-17 16:46:03 +01:00
Wolfgang (Blub) Bumiller
a473979cf5 Not defining GMQCC_VERSION_ in gmqcc.h but checking if they're defiend and #error if not - they're set in the Makefile - please fix windows builds 2012-12-17 16:30:07 +01:00
Dale Weiler
c1c7a93884 Implemented -D for preprocessor 2012-12-17 14:58:55 +00:00
Wolfgang (Blub) Bumiller
f9b1d057b5 Moving all the global opts_ variables into a struct, now there's one global 'opts' struct 2012-12-06 13:23:53 +01:00
Wolfgang (Blub) Bumiller
0e4e81d94f Parsing the 'noref' keyword; this also gets rid of some code duplication 2012-12-04 12:17:43 +01:00
Wolfgang (Blub) Bumiller
6b575372cc Don't warn about uninitialized stuff in accessors - remove the liferanges calculated when finalizing accessors, this would add invalid liferanges to function-local arrays and thus suppress warnings randomly 2012-12-02 18:09:59 +01:00
Dale Weiler
37ccf19769 added __STD_VERSION_[MINOR/MAJOR]__, and vec_upload 2012-12-02 04:30:46 +00:00
Wolfgang (Blub) Bumiller
e0a7f8a484 qcvm -printfuns; prog_section_function.nargs is now signed as fteqcc sets builtins with varargs to have -1 params 2012-11-30 20:20:13 +01:00
Wolfgang (Blub) Bumiller
6fc00e523d All ir_instrs now get their lex-context, so that we can create an LNO file with -flno 2012-11-30 18:20:02 +01:00
Wolfgang (Blub) Bumiller
5e23e8296d don't just store a 'bool constant' in the ast/ir, store the complete qualifier: 'int cvq', moved CV_ defines into gmqcc.h 2012-11-30 13:47:28 +01:00
Wolfgang (Blub) Bumiller
03cb670096 don't use vec_size but _vec_end in _vec_remove, since using it on an empty vector is an error anyway; this causes a warning about vec_pop doing an effect-less memmove so vec_pop now doesn't use vec_remove anymore actually 2012-11-30 11:55:32 +01:00
Wolfgang (Blub) Bumiller
e1fe6cff54 Importing tail-recursion optimization 2012-11-30 11:12:53 +01:00
Wolfgang (Blub) Bumiller
a890589031 -O now, additionally to taking a number, can work like -W and -f to take an actual optimization name 2012-11-30 11:05:58 +01:00
Wolfgang (Blub) Bumiller
8e1ce2ab5e generic compile_error/compile_warning functions in con.c, issuing end-of-non-void warning from within the ast now 2012-11-26 16:12:40 +01:00
Dale Weiler
ca52ecc20a Remove trailing whitespace for Blub. 2012-11-26 11:12:06 +00:00
Wolfgang (Blub) Bumiller
7b56ad9405 Revert "Fix type punning warnings"
it's a gcc version issue...

This reverts commit 3e6d173e31.
2012-11-25 14:05:10 +01:00
Dale Weiler
3e6d173e31 Fix type punning warnings 2012-11-25 12:57:28 +00:00
Wolfgang (Blub) Bumiller
613e1e7247 Change the parser to use the hashtable functions 2012-11-25 13:23:37 +01:00
Dale Weiler
5c0a62be96 Add respective license headers + some cleanups 2012-11-24 21:22:35 +00:00
Dale Weiler
9d677bab7c Added comment about hashtable 2012-11-23 20:05:53 +00:00
Dale Weiler
6e047ec65b No copy, just store pointer for hash table 2012-11-23 20:01:58 +00:00
Wolfgang (Blub) Bumiller
4a3921fcb9 Let's #define GMQCC by default 2012-11-23 19:13:09 +01:00
Dale Weiler
e25e83b14c Visual studio __forceinline can be used for GMQCC_INLINE 2012-11-23 06:48:54 +00:00
Dale Weiler
9e3399df19 Implemented hashtable as-per Blubs request 2012-11-23 06:12:01 +00:00
Wolfgang (Blub) Bumiller
968397da61 Fixing clang-warnings about vectors 2012-11-22 20:42:32 +01:00
Wolfgang (Blub) Bumiller
6983142c4d -dump vs -dumpfin; to see the IR before and after finalizing functions 2012-11-21 21:53:38 +01:00
Dale Weiler
2e3d572b53 Bump version 2012-11-21 20:33:52 +00:00
Wolfgang (Blub) Bumiller
ebc6954bf5 casting explicitly to boolean values in early out logic 2012-11-21 19:36:28 +01:00
Dale Weiler
61fa54318c Merge branch 'master' into test-suite
Conflicts:
	Makefile
	ir.c
2012-11-19 02:13:46 +00:00
Wolfgang (Blub) Bumiller
0330b082a2 The ftepp now always outputs into a string buffer, with -E the buffer will be dumped to stdout or the via -o specified file, without -E it'll be passed to the parser to be compiled 2012-11-18 13:33:53 +01:00
Wolfgang (Blub) Bumiller
d1373af7fc Make -E print to stdout by default and honor -o, changed handling of source list a bit 2012-11-18 12:51:38 +01:00
Wolfgang (Blub) Bumiller
366557bbab Since like with parsing, the preprocessor state has to be preserved across files for macros, we do that now, and with that introduce a new warning: -Wmultifile-if in case an #if spans over several command-line-provided source files (or progs.src file provided for that matter) 2012-11-18 11:54:11 +01:00
Dale Weiler
0dc4febb91 New test-suite initial implementation. Just need to write some tests. 2012-11-17 02:54:30 +00:00
Wolfgang (Blub) Bumiller
07ca2e6407 importing initial ftepp.c; -E option now executes the preprocessor 2012-11-16 16:57:59 +01:00
Wolfgang (Blub) Bumiller
3bd75546ec moving _vec_remove above the 'exposed interface' comment 2012-11-15 21:24:31 +01:00
Wolfgang (Blub) Bumiller
df61f3c182 Fix a typo causing NOTRACK to fail 2012-11-15 21:18:31 +01:00
Wolfgang (Blub) Bumiller
c583ae24f2 Replacing lexer's vectors and getting rid of the macros 2012-11-15 18:48:38 +01:00
Wolfgang (Blub) Bumiller
906f319673 Replaced it all... 2012-11-15 18:32:09 +01:00
Dale Weiler
2e84cc0b41 Use new console system everywhere. 2012-11-15 00:28:46 +00:00
Wolfgang (Blub) Bumiller
84088cb5f0 Merging in new-syntax 2012-11-14 21:39:16 +01:00
Dale Weiler
f0750209b7 preliminary segregated console subsystem 2012-11-14 19:17:43 +00:00
Wolfgang (Blub) Bumiller
9a42dd1c3a qcvm -trace now shows the current function name and nest-depth 2012-11-11 23:57:42 +01:00
Wolfgang (Blub) Bumiller
a7d3a2d6ea adding opts_max_array_size with a default of 1024, adding some TODO errors for arrays in the AST 2012-11-11 11:09:36 +01:00
Wolfgang (Blub) Bumiller
cf1ea01de3 parser_compile_file vs parser_compile_string 2012-11-11 10:33:29 +01:00
Wolfgang (Blub) Bumiller
1869440fd9 Preparing to parse arrays: adding TYPE_ARRAY and union/struct TYPE_ constants to be consistent with fteqcc, filled type-arrays with their data, attempting to parse an array variable and added some error messages to the IR in case of unhandled types 2012-11-11 10:13:01 +01:00
Wolfgang (Blub) Bumiller
a27750966f globals of type .vector will now properly generate 3 globals 2012-11-11 10:13:00 +01:00
Dale Weiler
6b12f4435c Make warns.def and flags.def into a single opts.def. 2012-11-10 21:13:09 +00:00
Wolfgang (Blub) Bumiller
09e18e1bbf mem_r to realloc 2012-11-10 11:16:19 +01:00
Wolfgang (Blub) Bumiller
a195e296a9 -E switch to set opt_pp_only 2012-11-02 18:33:51 +01:00
Wolfgang (Blub) Bumiller
5adc3fd9c1 Don't forget to set the _alloc in vector resize, also set _alloc back in _append if mem_a had failed 2012-10-09 20:56:54 +02:00
Wolfgang (Blub) Bumiller
5dd8e23dfd Cleaner crc implementation 2012-10-02 17:51:03 +02:00
Wolfgang (Blub) Bumiller
354dd94b95 Generating checksums 2012-10-02 17:09:49 +02:00
Wolfgang (Blub) Bumiller
b2cb612c70 Adding DEF_SAVEGLOBAL, marking globals as to-be-saved now, for real support of quicksaving 2012-08-23 18:28:05 +02:00
Wolfgang (Blub) Bumiller
fe2f9d79c5 fixing mem-vector resize function 2012-08-23 13:21:14 +02:00
Wolfgang (Blub) Bumiller
8b90fcf482 commenting on the quirks of MUL_VF and MUL_FV in gmqcc.h's instruction list 2012-08-22 18:34:48 +02:00
Wolfgang (Blub) Bumiller
ab714862d6 committing gmqcc.h for previous exec.c commit: qc_program gets .xflags 2012-08-22 17:49:25 +02:00
Wolfgang (Blub) Bumiller
ef3e7231bd it's SUB_V not DUB_V 2012-08-22 17:32:42 +02:00
Wolfgang (Blub) Bumiller
77e5807a83 memvector resize needs to set _count as well 2012-08-22 15:24:24 +02:00
Wolfgang (Blub) Bumiller
93e13c3cb1 option: -force-crc=number, added -info to executor to just show some file info like the crc, and -printfields to print a list of fields along with their type and position 2012-08-22 14:00:57 +02:00
Wolfgang (Blub) Bumiller
0674457c51 Fix some comment styles... 2012-08-21 10:33:37 +02:00
Wolfgang (Blub) Bumiller
b421c42d4b replacing WARN_ERROR with opts_werror 2012-08-18 14:36:33 +02:00
Wolfgang (Blub) Bumiller
0d9435d326 util_fopen... 2012-08-16 14:01:47 +02:00
Wolfgang (Blub) Bumiller
2c020837ea fopen -> fopen_s on windows 2012-08-16 13:45:45 +02:00
Wolfgang (Blub) Bumiller
0c74f8fdb9 make the 'vector' type use qcfloat instead of float 2012-08-16 12:58:54 +02:00
Dale Weiler
d73100ad1b gmqcc now builds on visual studio 2012-08-14 19:06:53 -04:00
Wolfgang (Blub) Bumiller
b8d92dfa01 constant folding for +, - and * 2012-08-14 22:51:05 +02:00
Wolfgang (Blub) Bumiller
37c4644d85 progs.src mode added 2012-08-14 19:30:03 +02:00
Wolfgang (Blub) Bumiller
107100c666 -dump option, by default the IR is not dumped anymore 2012-08-14 16:19:23 +02:00
Wolfgang (Blub) Bumiller
d824645019 error-print functions which take lex_ctx 2012-08-14 12:06:28 +02:00
Wolfgang (Blub) Bumiller
579ac3dd5d Working towards a saner error-output system, adding -Werror 2012-08-14 11:34:07 +02:00
Wolfgang (Blub) Bumiller
e3b3c2efe3 Merge branch 'master' into blub/parser 2012-08-13 15:25:40 +02:00
Wolfgang (Blub) Bumiller
633561a730 type_eq_instr[], type_ne_instr[] 2012-08-13 15:25:14 +02:00
Wolfgang (Blub) Bumiller
7e3edea621 fixing the messup of MUL_FV and _VF being swapped - getting rid of additions that really have no place here (YET) (matrix/quaternion types) 2012-08-12 11:34:55 +02:00
Wolfgang (Blub) Bumiller
d68d19dbfd Merging master to handle vector members, fields, and members of vector fields 2012-08-12 10:08:41 +02:00
Wolfgang (Blub) Bumiller
919d73b0a0 experimental support for spawn() in the executor 2012-08-11 17:31:08 +02:00
Wolfgang (Blub) Bumiller
0bee759406 Merge branch 'master' into blub/bc3 2012-08-08 12:25:31 +02:00
Wolfgang (Blub) Bumiller
babc6d209e Add WARN_ prefix to warnings enum 2012-08-08 12:25:19 +02:00
Wolfgang (Blub) Bumiller
ae251d3914 Merge branch 'master' into blub/bc3 2012-08-08 12:05:08 +02:00
Wolfgang (Blub) Bumiller
7fed5bf41f make it also compilable with -std=c99 by not redefining extra_semicolon_, by appending N to it 2012-07-30 13:48:53 +02:00
Wolfgang Bumiller
d05bee94d1 code_alloc_field to allocate entityfield data, ir now has ir_builder_create_field - so that globals and fields can be created separately - properly 2012-07-28 21:55:01 +02:00
Wolfgang Bumiller
e3dc56fc92 Merging master and adopting its main.c 2012-07-28 21:14:03 +02:00
Wolfgang Bumiller
3321748e4a util_strtocmd, util_strtononcmd 2012-07-28 19:28:27 +02:00
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
b76ffe8304 Merging master with newly merged executor 2012-07-27 19:17:03 +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
975356cbce Merge branch 'master' into blub/bc3 2012-07-27 19:02:39 +02:00
Wolfgang Bumiller
81fd77da38 _MEM_... -> MEM_... 2012-07-27 19:02:18 +02:00
Wolfgang Bumiller
aef49d9667 Merge branch 'master' into blub/bc3 2012-07-22 12:21:43 +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
071fd32040 Handling some operands, added type_name array 2012-07-20 21:19:30 +02:00
Wolfgang Bumiller
1d55197097 parsing typenames completely now with function parameters 2012-07-19 11:41:16 +02:00
Wolfgang Bumiller
9b6598f049 Copying my old lexer 2012-07-16 13:59:10 +02:00
Wolfgang Bumiller
3943e27ebb Temporarily reordering instructions for compatibility 2012-07-16 12:43:20 +02:00
Wolfgang Bumiller
8865b12001 Reverting the removal of _FV instructions, it's just easier this way 2012-07-16 12:29:55 +02:00
Wolfgang Bumiller
49f3980360 Merging master 2012-07-16 11:40: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
e9ac1c9e21 First thing: we want quaternions and 4x4 matrices 2012-07-10 19:26:07 +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
Dale Weiler
20f203495d More assembler code 2012-04-27 16:45:34 -04:00
Dale Weiler
7aee8ac2ef Working on the assembler 2012-04-27 16:31:38 -04:00
Wolfgang (Blub) Bumiller
348243ddf6 GMQCC_WARN macro 2012-04-27 12:35:59 +02:00
Dale Weiler
422c085fba Sanity check 2012-04-27 05:33:02 -04:00
Wolfgang (Blub) Bumiller
69173876f1 Merge branch 'master' into blub/ast-and-ir-merging 2012-04-27 11:05:57 +02:00
Dale Weiler
db879bd626 Now compiles with mingw; added makefile for windows. 2012-04-26 23:24:32 -04:00
Dale Weiler
63b6abb463 GMQCC_VERSION 2012-04-26 11:37:47 -04:00
Wolfgang (Blub) Bumiller
234567cb9f Merge branch 'master' into blub/ast-and-ir-merging
-> Todo: take over bool from qbool
2012-04-26 10:13:07 +02:00
Dale Weiler
4c55dba10d Implemented platform[safe, neutral], compiler[safe, neutral] and C version[safe, neutral] <stdbool.h>. M$ Visual Studio doesn't provide support for C99 2012-04-25 17:03:56 -04:00
Dale Weiler
1fd2666fba code_strings_add replaced with proper multiplie element insertion vector support just added 2012-04-25 16:49:04 -04:00
Dale Weiler
fe5c322e38 Implemented support for multiple element (with assisted length) insertion on VECTOR_ expansions 2012-04-25 16:43:25 -04:00
Dale Weiler
e6ac367179 Make VECTOR_ more flexible for inside structures, and such. 2012-04-25 15:49:20 -04:00
Dale Weiler
168fd244bd TYPE_ macros 2012-04-25 11:45:01 -04:00
Dale Weiler
b102e77dca s/#define / / & s/[0-9]// & inplace enum { - end } 2012-04-25 11:42:20 -04:00
Wolfgang (Blub) Bumiller
22fcf399e0 Adding the 3 virtual instructions required for the IR later. 2012-04-25 17:27:47 +02:00
Dale Weiler
8049252f65 new progs format proposal for engine developers (45% of globals are 0, why write them, let the engine populate them. We can essentially save 9884 bytes in xonotic's progs.dat with this new format.) 2012-04-24 08:19:48 -04:00
Dale Weiler
691d146d9b -fdarkplaces-stringtablebug 2012-04-22 16:58:12 -04:00
Dale Weiler
4d001da04e Language type selection at command line. 2012-04-21 22:55:30 -04:00
Dale Weiler
7849f8c597 slightly faster hash function (using crc32), with precomputed polynomial table (256x32-bit entries, eight shifted xor operations). QuakeC header files include a crc16 in them (this isn't it, that is on the TODO list) 2012-04-21 16:02:33 -04:00
Dale Weiler
03295d7adc command line argument parsing. 2012-04-20 01:20:22 -04:00
Dale Weiler
857cb72a94 Starting assembly 2012-04-20 00:44:44 -04:00
Dale Weiler
082caf61bd ensure all data is LE format, cleanups, etc. 2012-04-19 16:41:03 -04:00
Dale Weiler
32b804864e Fix clang warnings 2012-04-17 17:31:07 -04:00
Dale Weiler
2bef34a4f7 Fix memory leaks, more memory tracker stuff as well. 2012-04-17 17:16:11 -04:00
Dale Weiler
477e80f1fb tabulators->four spaces 2012-04-17 16:24:22 -04:00
Dale Weiler
7501444add replaced getline with util_getline 2012-04-17 16:14:00 -04:00
Dale Weiler
6e3819a76c Work in progress assembler, cleanups and more. 2012-04-17 04:29:58 -04:00
Dale Weiler
36378e341e More cleanups 2012-04-15 18:01:21 -04:00
Dale Weiler
98b0e11890 Cleanups 2012-04-15 17:47:14 -04:00
Dale Weiler
29a3c02c35 Removed primitive AST tree generator ... I'm planning a rewrite as we speak. 2012-04-15 07:59:22 -04:00
Dale Weiler
4e35032a24 Include now works 2012-04-14 03:53:20 -04:00
Dale Weiler
e4bc0a2d6a More parsing stuff (still totally broken) 2012-04-11 19:41:04 -04:00