Commit graph

28 commits

Author SHA1 Message Date
Dale Weiler
2208136403 Implement support for indirect macro expansions in the preprocessor. This closes #36 2014-09-27 01:48:03 -04:00
Dale Weiler
53e9ed0d96 Merge branch 'arithmetic_exceptions' into cooking
Conflicts:
	doc/gmqcc.1
	gmqcc.ini.example
	opts.def
	parser.c
2014-05-25 03:01:47 -04:00
Dale Weiler
bbeb2517c0 Arithmetic exception flag and a plethora of tests. 2014-05-24 10:38:02 -04:00
Dale Weiler
6424ebaf98 Perliminary work on arithmetic exception handling in the constant evaluator. We can safely check for arithmetic underflow, overflow, divison by zero and inexactness now. Inexactness of expressions are propagated through the AST such that using an inexact value in a comparison will trigger a warning with -Winexact-compares. 2014-05-24 09:53:38 -04:00
Wolfgang Bumiller
8dafdfc5e2 use INSTR_STATE by default, add -femulate-state to switch to emulation, and -state-fps=NUM to set its emulation FPS 2014-04-08 14:34:55 +02:00
Dale Weiler
6a44b72db3 Mask ftepp math constants with a compiler flag 2013-12-01 10:45:43 -05:00
Dale Weiler
292c8150b4 Resolve undefined functions to compiler builtins if they exist. 2013-11-23 06:57:40 -05:00
Dale Weiler
2ebf571129 Update documentation 2013-09-30 16:03:22 -04:00
Dale Weiler
cf2352893f Consistency 2013-09-25 16:19:33 -04:00
Dale Weiler
73eca0848c Fix QuakeWorld compilation by treating assignment to constants as a warning when -std=qcc. 2013-09-24 07:31:53 -04:00
Rudolf Polzer
f4f805f4c9 New options: -ftypeless-stores and -fsort-operands
These flags reduce entropy, but not size, of the generated assembly
code. This helps compressability of the files.

Additionally, -ftypeless-stores might SLIGHTLY improve engine
performance due to less instructions being used (so branch prediction
might work better). Probably cannot be measured though.

Signed-off-by: Rudolf Polzer <divverent@xonotic.org>
2013-08-27 09:55:00 +02:00
Dale Weiler
079ed491a9 Update the ini example, holy hell we have more options than I imagined. 2013-08-16 04:22:53 +00:00
Dale Weiler
84ad8ec37a Update gmqcc.ini.example 2013-07-04 15:24:55 -04:00
Wolfgang Bumiller
b9fb29d740 manpage and ini update 2013-04-25 19:17:58 +02:00
Wolfgang Bumiller
bfbbe0c771 gmqcc.ini.example: LEGACY_VECTOR_MATHS 2013-01-14 11:17:25 +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
f440c3c614 gmqcc.ini.example: VARIADIC_ARGS 2013-01-12 16:32:36 +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
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
2637f6f824 gmqcc.ini.example: -Wparenthesis 2012-12-31 11:14:43 +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
d961cfb855 gmqcc.ini.example: DIFFERENT_QUALIFIERS, DIFFERENT_ATTRIBUTES 2012-12-29 17:41:20 +01:00
Wolfgang Bumiller
fda4f4d027 gmqcc.ini.example: VECTOR_COMPONENTS 2012-12-29 15:13:28 +01:00
Wolfgang Bumiller
ded1ab3da1 Typo... 2012-12-28 21:05:04 +01:00
Wolfgang Bumiller
2ac2827256 Updating gmqcc.ini.example 2012-12-28 21:04:14 +01:00
Dale Weiler
0e40ef172a Document ini.example 2012-12-21 04:01:47 +00:00
Dale Weiler
bf53f82d16 Update ini.example (added UNREACHABLE_CODE, and CPP) as warning options 2012-12-21 03:14:31 +00:00
Wolfgang (Blub) Bumiller
26f3370ea6 Renaming gmqcc.init since it's used by default if it exists and it makes the testsuite fail 2012-12-18 11:48:03 +01:00
Renamed from gmqcc.ini (Browse further)