Commit graph

2627 commits

Author SHA1 Message Date
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
Dale Weiler
37a4265e06 Update .travis.yml 2013-09-22 08:43:47 -04:00
Dale Weiler
69efb404bf Update .travis.yml 2013-09-22 08:43:24 -04:00
Wolfgang Bumiller
99422d0cf4 this is still there twice... 2013-09-19 21:05:40 +02:00
Wolfgang Bumiller
8d2a6ca419 moving the QCVM_EXECUTOR ifdef in conout.c - these are used in the executor 2013-09-19 21:05:39 +02:00
Dale Weiler
f25fff1e3d Remove debug printfs 2013-09-18 19:18:10 -04:00
Dale Weiler
e18849fa42 Generate (non_const_float * (1.0 / constant_float)) for (non_const_float / constant_float) expressions. 2013-09-18 19:15:24 -04:00
Wolfgang Bumiller
5a47dd5e62 since we don't bail on some of the warnings right away, (that is, with -Werror), also check the compile_errors count in main rather than just the return values 2013-09-18 16:20:25 +02:00
Wolfgang Bumiller
b6da3613ac making irwarning warn on an unused result 2013-09-18 16:20:24 +02:00
Dale Weiler
241637a980 Don't need that, each directory already has its own progs.src 2013-09-12 17:18:47 -04:00
Dale Weiler
9726d80e05 Output the dat name for xonotic export tool (first line of prog.src) 2013-09-12 17:08:40 -04:00
Dale Weiler
94e477e466 Added -progsrc commandline switch to specify progs.src files of different names. Cleaned up xonotic export script, fixed check-doc on linux systems by disabling mandoc check. 2013-09-12 17:06:20 -04:00
Dale Weiler
5bb245a33a Added xonotic_export.sh utility that when run from a xonotic-data.pk3dir will eliminate redundant files and create prog.src files for csprogs, progs(server) and menu. This tool will be used for check-proj.sh for exporting xonotic changes to our server. 2013-09-12 15:06:36 -04:00
Dale Weiler
6a235dc25f Support options for check-proj now 2013-09-11 17:09:03 -04:00
Dale Weiler
207d391fcd Allow running from root of gmqcc repo as well. 2013-09-11 16:50:33 -04:00
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