Commit graph

217 commits

Author SHA1 Message Date
Dale Weiler
61fa54318c Merge branch 'master' into test-suite
Conflicts:
	Makefile
	ir.c
2012-11-19 02:13:46 +00:00
Wolfgang (Blub) Bumiller
2ab7d8d5c3 Adding myself to main.c's copyright notice 2012-11-18 17:06:26 +01:00
Wolfgang (Blub) Bumiller
edbe8f54cb don't call parser_cleanup with -E 2012-11-18 14:27:47 +01: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
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