An Improved Quake C Compiler
Find a file
Dale Weiler 103e549615 Don't emit whitespace when stringifying TOKEN_WHITE.
Other aspects of the preprocessor already skip whitespace leading up to a token. The only situation in which a TOKEN_WHITE can
exist as part of the token stream during stringification, is when the whitespace is trailing after a token. This is situation is
really only possible in the context of a macro argument. This behaviour is inconsistent.

Consider the following
FOO( space_before)
FOO(space_after )

The former will reduce to "space_before" since the preprocessor will skip whitespace leading up to the token `space_before', while
the latter will reduce to "space_after ".

The C preprocessor doesn't preserve whitespace, so we won't either. This doesn't break any existing code.
2014-11-07 02:01:17 -05:00
distro Eliminate debug log 2014-04-05 05:16:36 -04:00
doc manpage/init: -fsplit-vector-parameters description 2014-10-18 14:39:14 +02:00
misc who let the cat out? 2013-10-11 15:53:59 +02:00
msvc Make it compile in visual studio again, without warnings. 2013-08-16 09:03:36 +00:00
syntax Add jedit syntax highlighting support, thanks to LordHavoc (made some changes to reflect gmqcc syntax more) 2013-04-21 08:13:39 +00:00
tests split-vectors test 2014-10-18 13:51:25 +02:00
.gitattributes gitattributes for whitespace 2012-04-28 16:40:03 -04:00
.gitignore .gitignore: add binarys 2013-05-05 12:53:58 +02:00
.travis.yml Update .travis.yml 2013-09-22 08:43:47 -04:00
ansi.c Handle encoding errors for platform_vasprintf 2014-05-28 21:51:29 -04:00
ast.c we like to spell things properly - if this commit message contains a typo I don't catch before pushing then that's totally intentional 2014-10-18 14:27:16 +02:00
ast.h Merge branch 'arithmetic_exceptions' into cooking 2014-05-25 03:01:47 -04:00
AUTHORS s/brian/brain/ ;) 2013-11-30 12:31:21 +04:00
BSDmakefile Some fixes 2014-09-28 20:28:56 -04:00
CHANGES Update changes 2013-10-17 03:44:33 -04:00
code.c Allow testsuite to pass on big endian 2014-02-10 20:31:54 -06:00
conout.c Happy new year! 2014-01-01 06:24:16 -05:00
correct.c Happy new year! 2014-01-01 06:24:16 -05:00
exec.c Merge branch 'arithmetic_exceptions' into cooking 2014-05-25 03:01:47 -04:00
fold.c Allow negation to propagate inexactness in constant folder by using neg(x) = x*-1 2014-11-04 14:32:56 -05:00
fs.c Happy new year! 2014-01-01 06:24:16 -05:00
ftepp.c Don't emit whitespace when stringifying TOKEN_WHITE. 2014-11-07 02:01:17 -05:00
gmqcc.h Make that unsigned 2014-09-27 01:52:33 -04:00
gmqcc.ini.example manpage/init: -fsplit-vector-parameters description 2014-10-18 14:39:14 +02:00
hash.c Some fixes 2014-09-28 20:28:56 -04:00
include.mk fixing wrong paths in the uninstall target 2014-06-15 11:05:16 +02:00
INSTALL Fedora spec files (0.2.9 and 0.3.0) + INSTALL documentation, thanks Igor Gnatenko. 2013-07-27 16:33:33 +00:00
intrin.c 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
ir.c we like to spell things properly - if this commit message contains a typo I don't catch before pushing then that's totally intentional 2014-10-18 14:27:16 +02:00
ir.h we like to spell things properly - if this commit message contains a typo I don't catch before pushing then that's totally intentional 2014-10-18 14:27:16 +02:00
lexer.c renaming the length operator to _length and fixing the lexing of that operator, generic names for operators is really a bad idea 2014-10-18 13:47:23 +02:00
lexer.h renaming the length operator to _length and fixing the lexing of that operator, generic names for operators is really a bad idea 2014-10-18 13:47:23 +02:00
LICENSE Happy new year redux! 2014-01-01 06:25:00 -05:00
main.c 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
Makefile Some fixes 2014-09-28 20:28:56 -04:00
msvc.c Happy new year! 2014-01-01 06:24:16 -05:00
opts.c Implement ini [includes] area like Trac. This closes #65 2014-09-27 02:32:02 -04:00
opts.def adding -fsplit-vector-parameters, todo: float-lookup should get optimized as commented 2014-10-18 13:49:13 +02:00
pak.c Update per IRC peer review feedback 2014-02-02 02:32:50 -06:00
parser.c Implemented length operator. This closes #130 2014-09-27 04:15:32 -04:00
parser.h 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
platform.h Happy new year! 2014-01-01 06:24:16 -05:00
PORTING Add a porting guide 2013-10-11 04:55:26 -04:00
README Update README 2013-10-11 08:14:37 -04:00
stat.c Fix style 2014-04-08 05:06:16 -04:00
test.c Implement support for indirect macro expansions in the preprocessor. This closes #36 2014-09-27 01:48:03 -04:00
TODO Cull back on the TODO 2013-11-23 08:02:56 -05:00
utf8.c Happy new year! 2014-01-01 06:24:16 -05:00
util.c On platforms that the byte order check fails on the runtime test is concluded instead. It still needs these swap functions at compile time since the runtime test has to run. This fixes a FTBFS on BE selected ARMs. 2014-05-09 02:39:25 -04:00

GMQCC: An improved Quake C compiler

For licensing:           see the LICENSE file.
For installation notes:  see the INSTALL file.
For a list of authors:   see the AUTHORS file.
For a list of changes:   see the CHANGES file.

For documentation:
    See the manpages, or visit the documentation online at
    http://graphitemaster.github.com/gmqcc/doc.html

For syntax highlighting description files, or information
regarding how to install them:
    See the README in syntax directory

For description on porting GMQCC to other platforms, or information
on how to approach porting GMQCC to more 'exotic' platforms:
    See the PORTING file.