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 |
|