Commit graph

2619 commits

Author SHA1 Message Date
Dale Weiler
a02e44100e Fix some things: get all the Quake mods to compile again (I broke binary expressions .. oops) Fix the check-proj script, using $? for status was invalid because of pipes. The ir now properly considers negation virtual instruction to be operations (as it should). 2013-10-05 23:36:48 -04:00
Dale Weiler
99e3ae9773 Update CHANGES files 2013-10-05 22:34:55 -04:00
Dale Weiler
300fb9905b Fix fold_superfluous 2013-10-04 07:10:58 -04:00
Dale Weiler
ffdd6df828 Only when peephole optimization is on 2013-10-04 07:02:06 -04:00
Dale Weiler
2cf5046d38 Handle proper expression type assignment 2013-10-04 06:53:09 -04:00
Dale Weiler
cc69370575 Another peephole optimization which removes superfluous expressions such as (A + 0), (A - 0), (A * 1) and (A / 1). 2013-10-04 06:46:54 -04:00
Dale Weiler
263fcfbc2f Refactor intrinsic stuff 2013-10-02 13:00:34 -04:00
Dale Weiler
2ebf571129 Update documentation 2013-09-30 16:03:22 -04:00
Dale Weiler
90824c2093 Add seperate warning flag for directive in macro. 2013-09-30 15:59:36 -04:00
Dale Weiler
8f359f3849 Warn when preprocessor directive is found inside a macro body. 2013-09-30 15:57:01 -04:00
Dale Weiler
08891068c8 Merge branch 'cooking' of github.com:graphitemaster/gmqcc into cooking 2013-09-30 14:33:57 -04:00
Dale Weiler
b6f08e7fb1 Fix negation type for VINSTR_NEG_V. Source operand for optimization instead of the expression (to handle double negation elision properly.) 2013-09-30 14:32:21 -04:00
Wolfgang Bumiller
fa14ca93d2 Merge branch 'master' into cooking 2013-09-30 15:02:03 +02:00
Wolfgang Bumiller
dfbd093348 Merge pull request #134 from Sicness/hyphen
Fixed hyphen-used-as-minus-sign in gmqcc.1
2013-09-30 06:01:22 -07:00
Anton Balashov
e928cabfb2 Fixed hyphen-used-as-minus-sign in gmqcc.1
Accortding to lintian report:
I: gmqcc: hyphen-used-as-minus-sign usr/share/man/man1/gmqcc.1.gz:156
N:
N:    This manual page seems to contain a hyphen where a minus sign was
N:    intended. By default, "-" chars are interpreted as hyphens (U+2010) by
N:    groff, not as minus signs (U+002D). Since options to programs use minus
N:    signs (U+002D), this means for example in UTF-8 locales that you cannot
N:    cut and paste options, nor search for them easily. The Debian groff
N:    package currently forces "-" to be interpreted as a minus sign due to
N:    the number of manual pages with this problem, but this is a
N:    Debian-specific modification and hopefully eventually can be removed.
N:
N:    "-" must be escaped ("\-") to be interpreted as minus. If you really
N:    intend a hyphen (normally you don't), write it as "\(hy" to emphasise
N:    that fact. See groff(7) and especially groff_char(7) for details, and
N:    also the thread starting with
N:    http://lists.debian.org/debian-devel/2003/debian-devel-200303/msg01481.html
N:
N:    If you use some tool that converts your documentation to groff format,
N:    this tag may indicate a bug in the tool. Some tools convert dashes of
N:    any kind to hyphens. The safe way of converting dashes is to convert
N:    them to "\-".
N:
N:    Because this error can occur very often, Lintian shows only the first 10
N:    occurrences for each man page and give the number of suppressed
N:    occurrences. If you want to see all warnings, run Lintian with the
N:    -d/--debug option.
N:
N:    Refer to /usr/share/doc/groff-base/README.Debian and the groff_char(7)
N:    manual page for details.
N:
N:    Severity: wishlist, Certainty: possible
N:
N:    Check: manpages, Type: binary
N:
I: gmqcc: hyphen-used-as-minus-sign usr/share/man/man1/gmqcc.1.gz:354
I: gmqcc: hyphen-used-as-minus-sign usr/share/man/man1/gmqcc.1.gz:676
2013-09-30 16:43:57 +04:00
Dale Weiler
03b56bd41f Handle double negation case specially. Update TODO 2013-09-30 05:12:28 -04:00
Dale Weiler
7249c2ec18 Simplify parse stage for unary - operator. 2013-09-29 22:08:09 -04:00
Dale Weiler
353455e1ad Remove pointless thinking comment, fix builds for clang. 2013-09-29 22:06:26 -04:00
Dale Weiler
b10de1b240 Make unary - operator act as an ast_unary node. This allows for consistency (no sense in making unary use binstore nodes, it doesn't make much sense). It also allows for the peephole optimization on unary chains that cancel each other to take place; i.e code like "-(-a)" simplifies to "a", thus eliminating instructions. 2013-09-29 22:01:46 -04:00
Dale Weiler
3c931ecbf1 Eh, only if peephole optimizations are turned on. 2013-09-28 06:41:40 -04:00
Dale Weiler
c6056d441b Less casts. 2013-09-28 06:36:00 -04:00
Dale Weiler
7c25af973c It was much easier in the AST, really. 2013-09-28 06:33:15 -04:00
Dale Weiler
81df8fa139 Remove the rest of it. 2013-09-28 06:10:02 -04:00
Dale Weiler
8a294683bb Remove it, maybe it can be done in the AST instead. 2013-09-28 06:09:24 -04:00
Dale Weiler
c4e92df106 Eh. 2013-09-28 05:36:09 -04:00
Dale Weiler
2b3663e18d Optimize for superfluous cases of NOT, i.e !!!!x can be simplified to !!x. 2013-09-28 05:34:53 -04:00
Dale Weiler
0d1f20fea3 Move it over 2013-09-28 03:41:18 -04:00
Igor Gnatenko
95b7056427 Optimizng compile flags
Signed-off-by: Igor Gnatenko <i.gnatenko.brain@gmail.com>
2013-09-28 03:37:58 -04:00
Igor Gnatenko
c8a1b6563e Update to 0.3.0 (improved new package: gmqpak)
Signed-off-by: Igor Gnatenko <i.gnatenko.brain@gmail.com>
2013-09-28 03:37:58 -04:00
Igor Gnatenko
48211572e5 Initial release
Add spec and patch

Signed-off-by: Igor Gnatenko <i.gnatenko.brain@gmail.com>
2013-09-28 03:37:58 -04:00
Dale Weiler
d61c5d3b16 Fix alias type check 2013-09-26 08:09:55 -04:00
Dale Weiler
15b0555546 Implement constant folding on ternary operations via fold_cond. 2013-09-26 06:51:49 -04:00
Dale Weiler
cf2352893f Consistency 2013-09-25 16:19:33 -04:00
Dale Weiler
894e1976e3 Cheap quick hack for ignoring #pragma to EOL 2013-09-25 15:35:18 -04:00
Wolfgang Bumiller
904c45060b remove -printf option from find; remove the misplaced 'local's 2013-09-25 11:16:15 +02:00
Wolfgang Bumiller
87fcf8d8e8 there's no pushd/popd in my sh 2013-09-25 11:14:59 +02:00
Dale Weiler
d2405a9ad8 Some grammar 2013-09-25 04:24:09 -04:00
Dale Weiler
d664b9f607 Fix some stuff for xonotic and make check-proj actually use the options line correctly. 2013-09-25 04:23:06 -04:00
Dale Weiler
13ef558fff Add export utility for Nexuiz, now check-proj handles it. 2013-09-25 04:03:37 -04:00
Dale Weiler
3968dc84fd Got Xonotic stuff for check-proj to function. 2013-09-25 03:52:48 -04:00
Dale Weiler
330111d5fc Fix the xonotic export script for check-proj.sh 2013-09-24 07:53:51 -04:00
Dale Weiler
fac4e411bf Merge branch 'cooking' of github.com:graphitemaster/gmqcc into cooking 2013-09-24 07:32:23 -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
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