Dale Weiler
|
6f749d61b1
|
Added -Oconst-fold-dce (dead code elimination optimization for when constant expressions form the basis of the dead code, i.e if else with constant expression). Fixed deps and added documentation. Cleaned up folds for ir_value (can now use the same macros as the ast_value ones).
|
2013-08-01 07:07:59 +00:00 |
|
Dale Weiler
|
e6c1d66c35
|
Merge branch 'master' into cooking
Conflicts:
opts.def
|
2013-06-17 20:14:26 +00:00 |
|
Dale Weiler
|
23cb7f4e09
|
Fix some bugs
|
2013-06-17 20:11:37 +00:00 |
|
Wolfgang Bumiller
|
179da9241c
|
working on vararg piping: detecting several error cases, adding -Wunsafe-types and -funsafe-varargs
|
2013-06-15 09:46:44 +02:00 |
|
Dale Weiler
|
121e080697
|
Guart statistics by option.
|
2013-06-02 00:07:54 +00:00 |
|
Dale Weiler
|
6d6a2efada
|
Experimental support for implicit return assignments. This closes #107. To enable return assignment support use -freturn-assignments. This allows you to do the following in QC code. T name() { return = expr_eval_T; return; /* returns expr_eval_T */ }. It allows for concise code and to rid locals in functions. It also saves a tremendous amount of space since only types of certian globals need to be allocated for returns.
|
2013-05-29 11:13:42 +00:00 |
|
Dale Weiler
|
68ca2c4962
|
Pushing the -fexpressions-for-builtins stuff and the modff for catching fractional-part builtin numbers.
|
2013-04-25 17:08:02 +00:00 |
|
Dale Weiler
|
f2b21158d8
|
Rewrote memory tracking, now prints highest water mark (most used memory at a given time during compile). Changes all byte representation to MB representation. Added ability to print the contents of the leaked memory to the console when -debug is on (infact the lost messages only print during -debug), -memchk simply reports the memory info at the end (it is also printed when -debug). You can set the memory dump columns with -memdumpcols=# where # is the number of columns you want (default is 16)
|
2013-04-15 20:54:53 +00:00 |
|
Wolfgang Bumiller
|
ce8b595ff2
|
Yes, that's what you are SUPPOSED to do in this case: ERROR, not default to crap
|
2013-02-04 00:20:41 +01:00 |
|
Wolfgang Bumiller
|
46892daa3a
|
Reverting this awful unmaintainable mess of option description system
|
2013-02-04 00:19:56 +01:00 |
|
Dale Weiler
|
ebd6a1ae95
|
Document the options in the opts.def file
|
2013-01-30 06:04:34 +00:00 |
|
Dale Weiler
|
d201cfe6b4
|
Work in progress options cleanup.
|
2013-01-30 05:24:30 +00:00 |
|
Dale Weiler
|
6c4c373089
|
Print off the documentation when -[f/W/O]help, also fixed some of the descriptions for flags.
|
2013-01-30 04:22:13 +00:00 |
|
Dale Weiler
|
480b2fc7b6
|
Added documentation to all options inside the binary itself. These will be used later for "man/nroff -man"-like documentation on OSs that lack "man" and the concept of system wide documentation. Also it will be nice to add -Wsome_warning help (to get some help about a specific warning/error, etc).
|
2013-01-30 02:56:58 +00:00 |
|
Dale Weiler
|
76614b311e
|
s/WARN_PREPROCESSOR/WARN_CPP/g (to stay somewhat compatible with gcc/clang warnings for the preprocessor)
|
2013-01-30 01:32:10 +00:00 |
|
Dale Weiler
|
d61172598e
|
Removed -Wcpp (not needed any more)
|
2013-01-30 01:26:51 +00:00 |
|
Wolfgang Bumiller
|
ad7059156a
|
now moving -Ocall-stores to -O3
|
2013-01-25 16:25:59 +01:00 |
|
Wolfgang Bumiller
|
3c8ce7c866
|
moving -Ocall-stores to -O4 until the vehicle issue is solved
|
2013-01-25 16:03:16 +01:00 |
|
Wolfgang Bumiller
|
d12e6e15c9
|
-flegacy-vector-maths, enabled by default
|
2013-01-14 11:15:06 +01:00 |
|
Wolfgang Bumiller
|
e0504ce482
|
This undef was missing there...
|
2013-01-13 17:37:09 +01:00 |
|
Wolfgang Bumiller
|
3652a122ed
|
Removed -fenhanced-diagnostics - it's now --correct, which makes sense since it doesn't affect the compilation process itself
|
2013-01-12 17:10:07 +01:00 |
|
Wolfgang Bumiller
|
4df6d1e028
|
guarding vararg code by -fvariadic-args
|
2013-01-12 16:28:04 +01:00 |
|
Wolfgang Bumiller
|
4f7113116d
|
-Wall now does not set -Wuninitialized-global
|
2013-01-09 20:39:17 +01:00 |
|
Wolfgang Bumiller
|
7d4340469e
|
So it wasn't _reall_ the optimization... it just made it easier. -Olocal-temps -> -O3
|
2013-01-08 21:23:38 +01:00 |
|
Wolfgang Bumiller
|
4c05230cb3
|
Seems like there's still a problem with it - -Olocal-temps back up to -O4
|
2013-01-07 20:27:50 +01:00 |
|
Wolfgang Bumiller
|
debfe136a5
|
Moving -Olocal-temps back to -O3
|
2013-01-07 14:55:42 +01:00 |
|
Wolfgang Bumiller
|
cbb91c2026
|
moving -Olocal-temps to -O4 until the issues are solved
|
2013-01-07 12:58:56 +01:00 |
|
Dale Weiler
|
793547a132
|
Implemented -f[no]enhanced-diagnostics, to enable/disable the usage of enhanced diagnostics.
|
2013-01-04 12:07:42 +00:00 |
|
Dale Weiler
|
29db4a44ed
|
Happy new years!
|
2013-01-01 05:08:55 +00:00 |
|
Wolfgang Bumiller
|
d47da25b82
|
Changing -Wtoo-few-parameters to -Winvalid-parameter-count; removing hardcoded COMPILER_GMQCC code which makes invalid parameter counts an error and instead make -std=gmqcc imply -Werror-invalid-parameter-count
|
2012-12-31 12:29:25 +01:00 |
|
Wolfgang Bumiller
|
0c4806b4a0
|
Adding -Wparenthesis, fixing constant folding of && and ||
|
2012-12-31 11:11:46 +01:00 |
|
Dale Weiler
|
921877e8a4
|
Implement [[deprecated]] general attribute, will mark functions as deprecated. Making calls to functions marked as such will trigger a compiler warning. Enabled by default.
|
2012-12-30 06:43:07 +00:00 |
|
Wolfgang Bumiller
|
8bdd060112
|
-Wdifferent-qualifiers, -Wdifferent-attributes
|
2012-12-29 17:41:20 +01:00 |
|
Wolfgang Bumiller
|
73bc4cc3e4
|
-Ovector-components
|
2012-12-29 15:05:04 +01:00 |
|
Wolfgang Bumiller
|
47baca22d9
|
-Wuninitialized-const, -Wuninitialized-global
|
2012-12-28 19:07:43 +01:00 |
|
Wolfgang Bumiller
|
77d454725a
|
-Wreserved-names, -fpermissive allows local variables named 'nil' to be created even with -funtyped-nil, they supersede the global untyped 'nil'
|
2012-12-28 18:22:09 +01:00 |
|
Wolfgang Bumiller
|
2e0216b7c6
|
'nil' global with -funtyped-nil
|
2012-12-28 18:16:19 +01:00 |
|
Wolfgang Bumiller
|
ebb7cb2ae3
|
parsing of loop labels
|
2012-12-27 23:43:20 +01:00 |
|
Wolfgang Bumiller
|
c6e7e80f23
|
there's no -f flag named overlap-locals... removed the opts.def entry
|
2012-12-27 22:18:58 +01:00 |
|
Wolfgang Bumiller
|
5cfd97c344
|
-fbail-on-werror option
|
2012-12-27 12:46:36 +01:00 |
|
Wolfgang Bumiller
|
d4483bfda6
|
-Oglobal-temps
|
2012-12-26 23:18:45 +01:00 |
|
Wolfgang Bumiller
|
af5b552a7f
|
-Ovoid-return - the last INSTR_RETURN of a void functions is replaced by INSTR_DONE to reduce the instruction count
|
2012-12-26 10:24:33 +01:00 |
|
Wolfgang Bumiller
|
a7c3ef3e22
|
-Ocall-stores as part of -O1: instead of having CALL instructions issue STOREs for every parameter, use the newly introduced 'lock' flag to make the operations generating the call's parameters generate them right into the OFS_PARM if there's no interfering CALL in between
|
2012-12-25 23:25:59 +01:00 |
|
Wolfgang Bumiller
|
35ba2dcaf9
|
The very aggressive -Ooverlap-strings
|
2012-12-25 20:38:05 +01: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 |
|
Wolfgang Bumiller
|
6a93b72ea5
|
-Ostrip-constant-names
|
2012-12-23 22:58:46 +01:00 |
|
Wolfgang Bumiller
|
6a60368a1b
|
-Olocaltemps -> -Olocal-temps for consistency; added manpage entry; removed leftover manpage entry for -foverlap-locals; -Olocal-temps moved from -O1 to -O3 due to stability concerns
|
2012-12-23 21:39:23 +01:00 |
|
Wolfgang Bumiller
|
eabe23cc24
|
Add -Ooverlap-locals to -O3
|
2012-12-23 16:31:21 +01:00 |
|
Wolfgang Bumiller
|
a707440e52
|
-futf8 implementation
|
2012-12-23 10:23:42 +01:00 |
|
Wolfgang Bumiller
|
e8cd9411b0
|
-Wunknown-attribute; and don't error on unknown attributes
|
2012-12-22 18:16:41 +01:00 |
|