Wolfgang Bumiller
|
fe3d8e44e6
|
Importing utf8lib
|
2012-12-23 10:23:41 +01:00 |
|
Dale Weiler
|
da49a40b96
|
Bump 0.2 -> 0.3
|
2012-12-23 09:18:17 +00:00 |
|
Dale Weiler
|
d51a6ab3db
|
Whitespace
|
2012-12-23 09:10:31 +00:00 |
|
Dale Weiler
|
5bc815c63f
|
Revert "Whitespace fixes"
This reverts commit 4580dcf1ea .
|
2012-12-23 09:10:07 +00:00 |
|
Dale Weiler
|
4580dcf1ea
|
Whitespace fixes
|
2012-12-23 08:42:53 +00:00 |
|
Dale Weiler
|
f598fbeaea
|
Actually fix the segfault this time
|
2012-12-23 08:08:05 +00:00 |
|
Dale Weiler
|
3b27107676
|
con_default_out for opts.pp_only (removes recently added TODO .. and fixes a segfault)
|
2012-12-23 07:57:06 +00:00 |
|
Dale Weiler
|
c3964cf29d
|
Make compiler and virtual-machine compile as C++ code, also removed gmqcc_voidptr hack.
|
2012-12-23 07:51:19 +00:00 |
|
Dale Weiler
|
d35d953a91
|
Remove parser_compile_string_len, and make parser_compiler_string take an additional length argument.
|
2012-12-23 07:22:15 +00:00 |
|
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 |
|