Dale Weiler
|
f44c127fbd
|
Proper gmqcc sourcing for check-proj
|
2013-09-11 16:48:01 -04:00 |
|
Dale Weiler
|
c52ad67a7c
|
Test for gmqcc in check-proj
|
2013-09-11 16:38:18 -04:00 |
|
Wolfgang Bumiller
|
35f9aef729
|
fix: declaring locals with the name of a parameter now treats the parameter as the local's prototype to avoid it being double-freed later
|
2013-09-11 11:25:44 +02:00 |
|
Dale Weiler
|
46fa12cb26
|
Merge branch 'cooking' of github.com:graphitemaster/gmqcc into cooking
|
2013-09-10 19:16:14 -04:00 |
|
Dale Weiler
|
8ddd126378
|
Added check-proj misc tool that downloads various QuakeC projects and tries to compile them with gmqcc, sort of like an additional test.
|
2013-09-10 19:15:28 -04:00 |
|
Wolfgang Bumiller
|
ce07e8fe28
|
distro/archbsd/this - as we don't depend on glibc there, just libc; also changed DESTDIR in archlinux/this/Makefile so it can be easily changed from the bsd Makefile
|
2013-09-09 12:18:30 +02:00 |
|
Wolfgang Bumiller
|
7af8c70bf9
|
distro/archlinux/this: generate the .MTREE file
|
2013-09-09 12:08:57 +02:00 |
|
Wolfgang Bumiller
|
3f151321f6
|
qcvm: exit on error
|
2013-09-08 21:31:56 +02:00 |
|
Dale Weiler
|
c2cf41baf9
|
Merge branch 'master' into cooking
|
2013-09-08 13:05:20 -04:00 |
|
Dale Weiler
|
9908209f58
|
Fix dependincies
|
2013-09-08 13:04:07 -04:00 |
|
Dale Weiler
|
6800d15872
|
Always print the char the lexer fails on for a token.
|
2013-08-31 16:52:46 -04:00 |
|
Dale Weiler
|
b2c8f3ebc5
|
Vector cross product virtual instruction, now >< operator works for non-constant vectors. Thanks divVerent for the help.
|
2013-08-31 14:49:06 -04:00 |
|
Dale Weiler
|
64661f54ea
|
Implemented >< (vector cross product operator). Currently support for constants only.
|
2013-08-31 13:41:25 -04:00 |
|
Dale Weiler
|
69252071ba
|
Prevent divide by zero for / and % operations in constant folding (previously caused compiler SIGFPE), instead "inf" is generated for both cases. This closes #124
|
2013-08-31 12:57:24 -04:00 |
|
Dale Weiler
|
9032e78349
|
There is no bug since the testsuite uses -o for preprocessed output (thus the printf never gets involved) if the testsuite read the preprocessor output from stdout than things would be wrong, since however it isn't there is no bug.
|
2013-08-31 09:53:19 -04:00 |
|
Wolfgang Bumiller
|
702a7664de
|
Don't allow a stale 'some_type;' declaration without an actual variable name; Same for typedef; closes #119
|
2013-08-31 11:35:12 +02:00 |
|
Wolfgang Bumiller
|
2ff9adecb2
|
this one can be reached - make it a little more helpful
|
2013-08-31 10:55:03 +02:00 |
|
Wolfgang Bumiller
|
4600f1d7ff
|
more thorough check for whether an ast node starts a new label; closes #121
|
2013-08-31 10:48:24 +02:00 |
|
Wolfgang Bumiller
|
79219ae201
|
factor check for assignment-to-constant into a function; improve its error output; closes #122
|
2013-08-31 10:39:31 +02:00 |
|
Wolfgang Bumiller
|
87b9fca732
|
fix unhelpful error message; fixes #123
|
2013-08-31 10:19:10 +02:00 |
|
Dale Weiler
|
98cb23ca63
|
Logic elsewhere handles this (no need to duplicate)
|
2013-08-30 07:23:15 -04:00 |
|
Dale Weiler
|
a50635bcd7
|
intrinsic folding cleanups (and improvements.)
|
2013-08-30 07:12:16 -04:00 |
|
Dale Weiler
|
76c37d9cc0
|
Rid of util_debug
|
2013-08-30 06:49:24 -04:00 |
|
Dale Weiler
|
c8b4eac618
|
Make -fshort-logic -funtyped-nil -fvariadic-args default for -std=gmqcc
|
2013-08-29 07:56:22 -04:00 |
|
Dale Weiler
|
f8af7adcd7
|
Remove &~= operator from gmqccs operator table, only fteqcc supports it.
|
2013-08-29 07:19:19 -04:00 |
|
Dale Weiler
|
dd289ed0e1
|
Merge branch 'cooking' of github.com:graphitemaster/gmqcc into cooking
|
2013-08-29 07:08:03 -04:00 |
|
Dale Weiler
|
3ed200d08a
|
Some changes changes
|
2013-08-29 07:07:43 -04:00 |
|
Wolfgang Bumiller
|
ff6d55aafc
|
this should allow for better detection of precedence issues
|
2013-08-29 10:22:48 +02:00 |
|
Wolfgang Bumiller
|
fa468e0673
|
also warn about mixing logical and/or operations without parenthesis
|
2013-08-29 08:26:17 +02:00 |
|
Wolfgang Bumiller
|
f140c39063
|
warn when mixing different bitops without parenthesis around them
|
2013-08-29 08:18:06 +02:00 |
|
Dale Weiler
|
51ef277e21
|
Fix folding logic for conditions.
|
2013-08-29 00:18:48 -04:00 |
|
Dale Weiler
|
a7c1f6f021
|
Implement [[eraseable]] attribute. When used with a function it instructs the AST (which than transfers logic to the IR) that the function (or variable) is potentially unused (verified by checking the read count). This than propogates through the IR and prevents the IR from generating both the definition and global/function. The intrinsics system uses this as well to prevent intrinsic functions from being generated unless they're used.
|
2013-08-29 00:05:37 -04:00 |
|
Dale Weiler
|
ceb79f1897
|
Fix build on clang
|
2013-08-28 13:01:46 -04:00 |
|
Dale Weiler
|
3b4a5667ea
|
Constant fold intrinsics if their arguments are constant. TODO: reference count intrinsics such that they're not generated unless they're used, currently when an intrinsic can be folded-away it's marked for generation and makes it to the final output binary even though it isn't used.
|
2013-08-28 12:46:22 -04:00 |
|
Dale Weiler
|
bbe4927a20
|
Implemented a __builtin_fabs intrinsic.
|
2013-08-28 11:28:27 -04:00 |
|
Dale Weiler
|
ee428b9081
|
Fix fold-dce for if(0)
|
2013-08-28 10:39:48 -04:00 |
|
Wolfgang Bumiller
|
40bcec5044
|
Add missing -width to .Bl in doc/gmqpak.1
|
2013-08-28 14:40:23 +02:00 |
|
Wolfgang Bumiller
|
a80aa89e09
|
Fix bad use of .D1 in doc/qcvm.1
|
2013-08-28 14:38:51 +02:00 |
|
Wolfgang Bumiller
|
660a22d647
|
misc/check-doc.sh: run mandoc -Tlint -Wall on the manpages
|
2013-08-28 14:33:09 +02:00 |
|
Wolfgang Bumiller
|
494c30a239
|
allow initializing shadowed locals outside of -std=gmqcc - in this case it becomes a regular assignment to the old declaration which is consistent with fteqcc
|
2013-08-28 14:20:33 +02:00 |
|
Dale Weiler
|
71e7db63aa
|
Cleanups
|
2013-08-28 03:45:40 -04:00 |
|
Dale Weiler
|
8aaa268423
|
Handle return status from compiler, this fixes false positivies in the testsuite when the compiler segfaults and the testsuite still reports succeeded, now it won't hopefully.
|
2013-08-28 03:40:35 -04:00 |
|
Dale Weiler
|
a75746d610
|
Don't ignore empty newlines when match in the testsuite, instead only ignore when procedure type is -pp (i.e preprocessing).
|
2013-08-28 03:34:05 -04:00 |
|
Dale Weiler
|
045bd4dbda
|
Some style fixes for tests
|
2013-08-27 06:41:03 -04:00 |
|
Dale Weiler
|
28cd3a3f8f
|
Forgot this one
|
2013-08-27 06:39:51 -04:00 |
|
Dale Weiler
|
f21216ecad
|
A test for that xor stuff (the same one I used to cause the bug to manifest in the first place).
|
2013-08-27 06:35:58 -04:00 |
|
Rudolf Polzer
|
abfe98ce8a
|
Fix XOR maths for overlapping inputs by setting the lifetimes correctly.
Signed-off-by: Rudolf Polzer <divverent@xonotic.org>
|
2013-08-27 12:27:20 +02:00 |
|
Wolfgang Bumiller
|
988b4b4960
|
ast_binary->right_first and an execution order check
|
2013-08-27 10:42:13 +02:00 |
|
Dale Weiler
|
4937fa51c0
|
Merge divVerent/ftypeless-stores, but rid of the macro abuse.
|
2013-08-27 04:28:22 -04:00 |
|
Dale Weiler
|
1b3d515777
|
Merge branch 'cooking' of github.com:graphitemaster/gmqcc into cooking
|
2013-08-27 04:28:11 -04:00 |
|