Commit graph

212 commits

Author SHA1 Message Date
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
Wolfgang (Blub) Bumiller
2b65ea599f Some printf/con_out/con_err conversions, guarded some outputs with not-opts_pp_only so the -E switch can print to stdout normally 2012-11-18 11:43:46 +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
990450bfe0 ## concatenation, -Wpreprocessor warning about redefining macros, #undef 2012-11-16 22:54:59 +01: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
906f319673 Replaced it all... 2012-11-15 18:32:09 +01:00
Wolfgang (Blub) Bumiller
b8fc2b7731 cleaned up empty lines 2012-11-15 11:02:16 +01:00
Dale Weiler
0b8da9eeb4 Some more changes: added redirout/redirerr command line options 2012-11-15 03:38:20 +00:00
Dale Weiler
dcacaca2e8 added --nocolor and fixed bug 2012-11-15 00:50:05 +00:00
Dale Weiler
ac01e3b5d3 FIX TEH BLOCK 2012-11-14 20:41:15 +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
Dale Weiler
01b619d53d JS stuff 2012-11-12 02:59:10 +00: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
bc43c6de47 -fadjust-vector-fields is now on by default in -std=gmqcc 2012-11-11 10:13:01 +01:00
Wolfgang (Blub) Bumiller
bf256abd66 Delete the test preprocess.c file and get the use/build part out of main.c/Makefile 2012-11-02 18:59:21 +01:00
Wolfgang (Blub) Bumiller
a3791b3f51 Finishing the preprocessing flag for the lexer, added preprocess.c to test it 2012-11-02 18:34:14 +01:00
Wolfgang (Blub) Bumiller
a195e296a9 -E switch to set opt_pp_only 2012-11-02 18:33:51 +01:00
Wolfgang (Blub) Bumiller
0fedee8312 If parser_finish fails, the exit-value must also indicate an error 2012-10-30 21:20:06 +01:00
Wolfgang (Blub) Bumiller
8ed6676d0f -Wassign-function-types - since in qcc you may assign functionpointers which take different parameters... 2012-10-28 20:31:35 +01:00
Wolfgang (Blub) Bumiller
921bbd7a8a Remove the -benchmark option+code 2012-10-27 15:33:37 +02:00
Wolfgang (Blub) Bumiller
9d70c3a56e Print a warning if end_sys_fields was declared as a field rather than a global 2012-10-02 15:59:37 +02:00
Wolfgang (Blub) Bumiller
d3c76dc819 forgot to put the -Werror in --help into the actual print parameter... 2012-08-24 23:18:44 +02:00
Wolfgang (Blub) Bumiller
1420bee49b remove unimplemented -f flags from --help, add the implemented one 2012-08-24 23:03:52 +02:00
Wolfgang (Blub) Bumiller
8a5dd1455a Add -Werror to the --help message 2012-08-24 23:02:27 +02:00
Wolfgang (Blub) Bumiller
f6ad0e0238 alignment fix 2012-08-24 23:01:18 +02:00
Wolfgang (Blub) Bumiller
a002041ec2 -benchmark option to take the time in a rather simple way 2012-08-24 23:00:47 +02:00
Wolfgang (Blub) Bumiller
3f1cad18af for the sake of testing: -Wnone 2012-08-23 20:52:39 +02:00
Wolfgang (Blub) Bumiller
45388202c4 -Weffectless-statement, on by default, creates 'statement has no effect' warning 2012-08-23 20:52:09 +02:00
Wolfgang (Blub) Bumiller
c84830bdee Warna bout unused variables - -Wunused-variable, on by default 2012-08-23 20:25:54 +02:00
Wolfgang (Blub) Bumiller
9f2e8b9bfe -Wframe-macros, warn about duplicate frame macro definitions, on by default 2012-08-23 19:16:26 +02:00
Wolfgang (Blub) Bumiller
19391bb190 the -std=qcc set of operators, still have to verify if it's the original 2012-08-23 19:01:15 +02:00
Wolfgang (Blub) Bumiller
f22112bcb8 Variadic functions: works for builtins, warns for implemenetd functions, -Wvariadic-function, on by default 2012-08-23 11:29:48 +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
5f2fc64498 -Wimplicit-function-pointer, functions without bodies still have a global function variable and thus are function pointers, though this shouldn't really be used, thus -Wimplicit-function-pointer is on by default 2012-08-22 12:37:06 +02:00
Wolfgang (Blub) Bumiller
3cd1d19a7e Fix getline usage in main.c, fix WARN_VOID_VARIABLE -> WARN_VOID_VARIABLES in main.c 2012-08-21 16:05:10 +02:00
Wolfgang (Blub) Bumiller
93856bf151 -Wvoid-variables, QC uses 2 special void-typed variables: end_sys_globals and .end_sys_fields. However if for some reason someone wants more, we still allow them to be code-generated, but by default warn about them by default 2012-08-21 15:49:53 +02:00
Wolfgang (Blub) Bumiller
8fcc528ffa new warning: -Wlocal-constants 2012-08-21 10:18:55 +02:00
Wolfgang (Blub) Bumiller
9420c01538 added -Wused-uninitialized and warning about variables which may be used without being initialized 2012-08-19 21:26:14 +02:00
Wolfgang (Blub) Bumiller
7ef248aadb set -Wmissing-return-values to on by default, new warning: control reaches end of non-void... 2012-08-19 20:26:54 +02:00
Wolfgang (Blub) Bumiller
4d0be789ac -Wtoo-few-parameters on by deafult - for -std=gmqcc it's always an error 2012-08-18 21:04:16 +02:00
Wolfgang (Blub) Bumiller
4cf017bb6b keep the filenames of all lexed files in a global lex_filenames vector because we don't strdup the filenames into lex_ctx, but copy the pointer 2012-08-18 16:47:33 +02:00
Wolfgang (Blub) Bumiller
9ed976d304 clear items_data in main 2012-08-18 15:58:20 +02:00
Wolfgang (Blub) Bumiller
b421c42d4b replacing WARN_ERROR with opts_werror 2012-08-18 14:36:33 +02:00
Wolfgang (Blub) Bumiller
1c81c27cee activate -Wfield-redeclared by default 2012-08-16 15:15:46 +02:00
Wolfgang (Blub) Bumiller
0d9435d326 util_fopen... 2012-08-16 14:01:47 +02:00
Wolfgang (Blub) Bumiller
acdafc200d parser_finish needs to be called in progs.src mode as well 2012-08-15 17:01:09 +02:00
Wolfgang (Blub) Bumiller
37c4644d85 progs.src mode added 2012-08-14 19:30:03 +02:00
Wolfgang (Blub) Bumiller
5064554b76 flags and warnings not printed anymore without -dump 2012-08-14 16:20:39 +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
d96fd2d9b8 -Wextensions on by default 2012-08-14 16:16:32 +02:00
Wolfgang (Blub) Bumiller
f2bbffbd4b return an error code at exit after compile errors 2012-08-12 20:12:32 +02:00
Wolfgang (Blub) Bumiller
6759c3633b Merge branch 'master' into blub/bc3 2012-08-08 12:43:26 +02:00
Wolfgang (Blub) Bumiller
8dccf69060 fix the chack for -Wno- and -fno-, it needs to use NO_ instead of no- 2012-08-08 12:43:02 +02:00
Wolfgang (Blub) Bumiller
edd5da4c49 rename a helper function since the name was in use 2012-08-08 12:26:22 +02:00
Wolfgang (Blub) Bumiller
42ab396e38 tempcommitting WARN_UNKNOWN_CONTROL_SEQUENCE and handling of backslashes in strings 2012-08-08 12:24:01 +02:00
Wolfgang Bumiller
71d79d99d3 parser_init,compile,finish,cleanup - used in main 2012-07-28 21:21:41 +02:00
Wolfgang Bumiller
9216ee50f5 use util_ functions for strtocmd and strtononcmd 2012-07-28 19:31:14 +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
17643c9940 consistency ftw 2012-07-28 15:57:28 +02:00
Wolfgang Bumiller
bddf0bb384 -fhelp to list -f flags, -Whelp to list -W options 2012-07-28 14:50:07 +02:00
Wolfgang Bumiller
3072ce7eba Added handler for -W 2012-07-28 13:59:35 +02:00
Wolfgang Bumiller
d06cc6c2d1 Fixing a warning 2012-07-28 13:50:12 +02:00
Wolfgang Bumiller
5e026dd62a Print out all the information parsed from the commandline 2012-07-28 13:20:06 +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
Dale Weiler
f4bc6ba08a Removed even more warnings 2012-06-07 11:09:29 -04:00
Dale Weiler
84c110e8f5 More compile warnings (disabled many for now, they will be re-enabled one-by-one as code that triggers warnings is rectified) 2012-06-07 10:57:48 -04: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
8156374a71 Invoke tests 2012-04-29 17:28:01 -04:00
Dale Weiler
c3df4edebd Remove trailing whitespace 2012-04-28 19:03:16 -04:00
Dale Weiler
674ae4b7da Fix macro spacing 2012-04-28 18:56:44 -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
bdb238b705 param_argument cleanup 2012-04-28 15:36:39 -04:00
Dale Weiler
1b13c86cc9 param_argument cleanup 2012-04-28 15:20:13 -04:00
Wolfgang Bumiller
488859a218 Do not force -[aci] parameters' arguments to be in the same argv; (Allow 'gmqcc -c foo' to act like 'gmqcc -cfoo' 2012-04-28 20:55:42 +02:00
Dale Weiler
1d6594a491 Fixed all invalid mmeory accesses 2012-04-28 06:31:16 -04: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
63b6abb463 GMQCC_VERSION 2012-04-26 11:37:47 -04: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
a68b56c2c3 AUTHORS 2012-04-24 13:05:19 -04: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
7ce3964772 removed branch 2012-04-20 01:24:11 -04:00
Dale Weiler
03295d7adc command line argument parsing. 2012-04-20 01:20:22 -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
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
29a3c02c35 Removed primitive AST tree generator ... I'm planning a rewrite as we speak. 2012-04-15 07:59:22 -04:00
Dale Weiler
e4bc0a2d6a More parsing stuff (still totally broken) 2012-04-11 19:41:04 -04:00
Dale Weiler
e4e6185d5f Count file lines 2012-04-11 15:53:40 -04:00
Dale Weiler
51e2f2b731 Implemented support for #include, but it doesn't add an include to the lexer yet. 2012-04-11 12:13:31 -04:00
Dale Weiler
9a7fa82bd0 It does hello world 2012-04-11 08:40:17 -04:00
Dale Weiler
e0f37db1a6 Cleanups 2012-04-10 05:16:18 -04:00
Dale Weiler
d5dcb3aff7 digraph and trigraph tests 2012-04-10 04:29:06 -04:00
Dale Weiler
bd5ba9e0fe Cleanups 2012-04-10 04:20:15 -04:00
Dale Weiler
a5e44c6631 More parse tree stuff 2012-04-09 22:44:06 -04:00
Dale Weiler
a6d9357ef9 Fixes for '#' tokens 2012-04-09 21:32:24 -04:00
Dale Weiler
c3f08b289b Cleanups 2012-04-09 20:39:54 -04:00
Dale Weiler
2b94dc1d89 More parsing & parse tree 2012-04-09 19:00:13 -04:00
Dale Weiler
e6a270a7e0 Some parsing 2012-04-09 10:14:26 -04:00
Dale Weiler
1deeb8c9cf Work in progress preprocessor 2012-04-09 09:36:16 -04:00
Dale Weiler
fe6e142f85 Some fixes and command line switches parsing 2012-04-09 07:09:57 -04:00
Dale Weiler
48a95ec3c9 initial commit 2012-04-09 06:42:06 -04:00