Dale Weiler
|
fa155f8a42
|
Added my awesome MT1997 PRNG, and use it instead of stdio's rand()/srand() .. which are implementation specific .. and simply unsafe (for example one of the compilers at work simply has it's standard library implementation of rand() return 0 always (which is perfectly conformant)).
|
2012-12-24 01:43:27 +00:00 |
|
Dale Weiler
|
0a57c408c0
|
Added ftepp predefs flag (ability to turn on/off predefs) disabled by default (even with -ftepp), enabled with -E, to enable use -fftepp-predefs.
|
2012-12-24 00:21:55 +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
|
6bc29a1601
|
Merge branch 'master' of github.com:graphitemaster/gmqcc
|
2012-12-23 06:06:57 +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 |
|
Wolfgang Bumiller
|
7efc3a4c21
|
Error when using both -ffalse-empty-strings and -ftrue-empty-strings
|
2012-12-22 16:50:09 +01:00 |
|
Dale Weiler
|
fa401b6f56
|
Cleanups and make compile with clang again with no warnings.
|
2012-12-22 08:22:50 +00:00 |
|
Wolfgang Bumiller
|
db577fdf17
|
-ftrue-empty-strings now changes type_not_instr[TYPE_STRING] to INSTR_NOT_F
|
2012-12-20 19:32:57 +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 |
|
Wolfgang Bumiller
|
4ef0e8c66e
|
-g sets opts.g and -debug causes blocks to be labeled
|
2012-12-20 16:04:10 +01:00 |
|
Wolfgang (Blub) Bumiller
|
6601e89029
|
fix wrong --version string
|
2012-12-18 15:44:26 +01:00 |
|
Wolfgang (Blub) Bumiller
|
52b4c9f0c1
|
Added -config to usage and manpage, added a CONFIG section in the manpage describing the ini file format, and added a short example to it
|
2012-12-18 15:26:41 +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 |
|
Dale Weiler
|
8e0515de44
|
Added -Wunknown-pragmas
|
2012-12-17 16:14:43 +00:00 |
|
Dale Weiler
|
c1a4c8102e
|
Finally fix the bug in -D
|
2012-12-17 15:46:07 +00:00 |
|
Dale Weiler
|
e72d656eb8
|
Fixes, but still crashes because ... I have no clue, there is no reason for this to crash.
|
2012-12-17 15:39:22 +00:00 |
|
Wolfgang (Blub) Bumiller
|
340de8379a
|
--version
|
2012-12-17 16:14:39 +01:00 |
|
Dale Weiler
|
08302ff32b
|
Just make it -v
|
2012-12-17 15:11:34 +00:00 |
|
Dale Weiler
|
ae960efff4
|
Added -which/-version
|
2012-12-17 15:08:17 +00:00 |
|
Dale Weiler
|
c1c7a93884
|
Implemented -D for preprocessor
|
2012-12-17 14:58:55 +00:00 |
|
Wolfgang (Blub) Bumiller
|
5e186bb434
|
Updating usage message a bit
|
2012-12-06 18:16:59 +01: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 |
|
Dale Weiler
|
16ae493a9a
|
-g now turns on -flno
|
2012-12-02 23:52:38 +00: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 |
|
Wolfgang (Blub) Bumiller
|
53fd019780
|
-fcorrect-ternary; by default -std=fteqcc now uses fteqcc's wrong ternary precedence parsing
|
2012-12-01 13:42:16 +01:00 |
|
Wolfgang (Blub) Bumiller
|
e102c1632b
|
Upping the default max-array-limit *sigh*
|
2012-12-01 00:34:18 +01:00 |
|
Wolfgang (Blub) Bumiller
|
645bd212d7
|
Don't try to compile an empty output from the preprocessor
|
2012-11-30 15:20:23 +01:00 |
|
Wolfgang (Blub) Bumiller
|
0983125d2d
|
print the number of performed optimizations after compiling
|
2012-11-30 11:47:35 +01:00 |
|
Wolfgang (Blub) Bumiller
|
17029ba695
|
Also print the numeric -O flag which would enable an optimization when listing optimizations via -Ohelp
|
2012-11-30 11:15:57 +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
|
fef9303381
|
moving opts_warn and opts_werror to con.c
|
2012-11-28 19:18:11 +01:00 |
|
Dale Weiler
|
ca52ecc20a
|
Remove trailing whitespace for Blub.
|
2012-11-26 11:12:06 +00:00 |
|
Wolfgang (Blub) Bumiller
|
0d3896ca54
|
introducing -fassign-function-types, previously guarded by std==qcc this is now the flag to cause a warning (-Wassign-function-types) instead of an error when assigning functions of wrong types
|
2012-11-25 23:27:48 +01:00 |
|
Wolfgang (Blub) Bumiller
|
797ceb9e04
|
handling TOKEN_CHARCONST - -Wmultibyte-character
|
2012-11-25 22:11:21 +01:00 |
|
Wolfgang (Blub) Bumiller
|
2c0a9d78df
|
Guard translatable strings by -ftranslatable-strings, defaults to ON with -std=fteqcc
|
2012-11-25 18:25:01 +01:00 |
|
Dale Weiler
|
3dbe54f0cd
|
Implemented -W? and -f? as aliases to -Whelp and -fhelp
|
2012-11-24 00:29:30 +00:00 |
|
Dale Weiler
|
4f00824104
|
Implemented -show-defaults
|
2012-11-24 00:26:51 +00:00 |
|
Wolfgang (Blub) Bumiller
|
d09ccba5d6
|
-Wdouble-declaration on by default
|
2012-11-23 23:44:35 +01:00 |
|
Wolfgang (Blub) Bumiller
|
498cbf6fa5
|
ftepp_out can return a nullptr
|
2012-11-23 14:59:56 +01:00 |
|
Wolfgang (Blub) Bumiller
|
3f805fdde9
|
-std=fteqcc gets its own operator list
|
2012-11-23 11:45:07 +01:00 |
|
Dale Weiler
|
baf69f3725
|
Fix more warnings
|
2012-11-22 20:32:08 +00:00 |
|
Wolfgang (Blub) Bumiller
|
f6129ea4e4
|
Fixing main.c shadows
|
2012-11-22 20:42:44 +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 |
|
Wolfgang (Blub) Bumiller
|
276346e63c
|
This is probably what was intended actually
|
2012-11-19 19:06:38 +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
|
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 |
|