]> git.rm.cloudns.org Git - xonotic/gmqcc.git/log
xonotic/gmqcc.git
11 years agoA note about how early-out in if-expressions can be translated more efficiently
Wolfgang (Blub) Bumiller [Wed, 21 Nov 2012 18:22:28 +0000 (19:22 +0100)]
A note about how early-out in if-expressions can be translated more efficiently

11 years agoActually it's likely...
Wolfgang (Blub) Bumiller [Wed, 21 Nov 2012 16:42:44 +0000 (17:42 +0100)]
Actually it's likely...

11 years agoLittle optimization to not produce an unreachable goto instruction
Wolfgang (Blub) Bumiller [Wed, 21 Nov 2012 16:40:35 +0000 (17:40 +0100)]
Little optimization to not produce an unreachable goto instruction

11 years ago'likely' hint for IFs
Wolfgang (Blub) Bumiller [Wed, 21 Nov 2012 16:35:11 +0000 (17:35 +0100)]
'likely' hint for IFs

11 years agoexperimental -fshort-logic, currently perl-like - might have to use NOT(NOT(x)) to...
Wolfgang (Blub) Bumiller [Wed, 21 Nov 2012 15:08:08 +0000 (16:08 +0100)]
experimental -fshort-logic, currently perl-like - might have to use NOT(NOT(x)) to fix this

11 years agoFixing warnings
Wolfgang (Blub) Bumiller [Wed, 21 Nov 2012 15:07:36 +0000 (16:07 +0100)]
Fixing warnings

11 years agoA hopefully working naive PHI solution
Wolfgang (Blub) Bumiller [Wed, 21 Nov 2012 15:05:54 +0000 (16:05 +0100)]
A hopefully working naive PHI solution

11 years agoImplemented multi-line comparitive tests, fixed output of stdout/stderr pair logs...
Dale Weiler [Tue, 20 Nov 2012 06:06:46 +0000 (06:06 +0000)]
Implemented multi-line comparitive tests, fixed output of stdout/stderr pair logs.  Some other cleanups, and stuff

11 years agoAdding break/continue testcases
Wolfgang (Blub) Bumiller [Mon, 19 Nov 2012 23:21:03 +0000 (00:21 +0100)]
Adding break/continue testcases

11 years ago*sigh*
Wolfgang (Blub) Bumiller [Mon, 19 Nov 2012 23:20:42 +0000 (00:20 +0100)]
*sigh*

11 years agoFixing switch testcase 7
Wolfgang (Blub) Bumiller [Mon, 19 Nov 2012 23:16:49 +0000 (00:16 +0100)]
Fixing switch testcase 7

11 years agoswitch testcases
Wolfgang (Blub) Bumiller [Mon, 19 Nov 2012 22:50:47 +0000 (23:50 +0100)]
switch testcases

11 years ago-frelaxed-switch to enable switch on non-constant cases
Wolfgang (Blub) Bumiller [Mon, 19 Nov 2012 21:27:58 +0000 (22:27 +0100)]
-frelaxed-switch to enable switch on non-constant cases

11 years agoAdd the missing jump from after the actual last case
Wolfgang (Blub) Bumiller [Mon, 19 Nov 2012 21:17:24 +0000 (22:17 +0100)]
Add the missing jump from after the actual last case

11 years agoEnter the outgoing block after a switch
Wolfgang (Blub) Bumiller [Mon, 19 Nov 2012 21:08:38 +0000 (22:08 +0100)]
Enter the outgoing block after a switch

11 years agoParsing of switches
Wolfgang (Blub) Bumiller [Mon, 19 Nov 2012 21:06:29 +0000 (22:06 +0100)]
Parsing of switches

11 years agofix bnot_id
Wolfgang (Blub) Bumiller [Mon, 19 Nov 2012 21:06:23 +0000 (22:06 +0100)]
fix bnot_id

11 years ago'case' and 'default' are now keywords too, not just switch
Wolfgang (Blub) Bumiller [Mon, 19 Nov 2012 20:40:38 +0000 (21:40 +0100)]
'case' and 'default' are now keywords too, not just switch

11 years agoast_switch
Wolfgang (Blub) Bumiller [Mon, 19 Nov 2012 20:17:44 +0000 (21:17 +0100)]
ast_switch

11 years agofix a warning and remove unused variables
Wolfgang (Blub) Bumiller [Mon, 19 Nov 2012 18:44:26 +0000 (19:44 +0100)]
fix a warning and remove unused variables

11 years agoError in the ast already about unreachable statements and don't upset the IR
Wolfgang (Blub) Bumiller [Mon, 19 Nov 2012 18:42:25 +0000 (19:42 +0100)]
Error in the ast already about unreachable statements and don't upset the IR

11 years agobreak and continue support
Wolfgang (Blub) Bumiller [Mon, 19 Nov 2012 18:39:52 +0000 (19:39 +0100)]
break and continue support

11 years agomoving 'return' parsing into a function
Wolfgang (Blub) Bumiller [Mon, 19 Nov 2012 18:22:00 +0000 (19:22 +0100)]
moving 'return' parsing into a function

11 years agomoving keywords into an array
Wolfgang (Blub) Bumiller [Mon, 19 Nov 2012 17:57:37 +0000 (18:57 +0100)]
moving keywords into an array

11 years agoFix con_vprintmsg madness
Wolfgang (Blub) Bumiller [Mon, 19 Nov 2012 18:19:30 +0000 (19:19 +0100)]
Fix con_vprintmsg madness

11 years agoThis is probably what was intended actually
Wolfgang (Blub) Bumiller [Mon, 19 Nov 2012 18:06:38 +0000 (19:06 +0100)]
This is probably what was intended actually

11 years agoMerge branch 'master' into test-suite
Dale Weiler [Mon, 19 Nov 2012 02:13:46 +0000 (02:13 +0000)]
Merge branch 'master' into test-suite

Conflicts:
Makefile
ir.c

11 years agoAdded test for variadic arguments
Dale Weiler [Mon, 19 Nov 2012 02:11:24 +0000 (02:11 +0000)]
Added test for variadic arguments

11 years agoAdded command line parsing to test-suite
Dale Weiler [Mon, 19 Nov 2012 02:05:18 +0000 (02:05 +0000)]
Added command line parsing to test-suite

11 years agostdout/stderr logging functional now.
Dale Weiler [Mon, 19 Nov 2012 00:22:57 +0000 (00:22 +0000)]
stdout/stderr logging functional now.

11 years agoTest suite now logs stdout/stderr to respective files
Dale Weiler [Sun, 18 Nov 2012 22:59:23 +0000 (22:59 +0000)]
Test suite now logs stdout/stderr to respective files

11 years agoFixing some indentation
Wolfgang (Blub) Bumiller [Sun, 18 Nov 2012 19:56:11 +0000 (20:56 +0100)]
Fixing some indentation

11 years agoremove a redundant ir_function member
Wolfgang (Blub) Bumiller [Sun, 18 Nov 2012 19:36:02 +0000 (20:36 +0100)]
remove a redundant ir_function member

11 years agoMake the disasm a bit more verbose as to where globals are
Wolfgang (Blub) Bumiller [Sun, 18 Nov 2012 19:32:22 +0000 (20:32 +0100)]
Make the disasm a bit more verbose as to where globals are

11 years agodo not set a function-defs nargs to > 8
Wolfgang (Blub) Bumiller [Sun, 18 Nov 2012 19:32:06 +0000 (20:32 +0100)]
do not set a function-defs nargs to > 8

11 years agoCALL to handle extparams, renamed extparams again
Wolfgang (Blub) Bumiller [Sun, 18 Nov 2012 19:17:59 +0000 (20:17 +0100)]
CALL to handle extparams, renamed extparams again

11 years agoAdd a # prefix to EXTPARM%i
Wolfgang (Blub) Bumiller [Sun, 18 Nov 2012 19:11:14 +0000 (20:11 +0100)]
Add a # prefix to EXTPARM%i

11 years agoMake functions copy their extparams
Wolfgang (Blub) Bumiller [Sun, 18 Nov 2012 19:06:28 +0000 (20:06 +0100)]
Make functions copy their extparams

11 years agoMake the >8 parameter message a warning
Wolfgang (Blub) Bumiller [Sun, 18 Nov 2012 18:19:38 +0000 (19:19 +0100)]
Make the >8 parameter message a warning

11 years agoImporting a tiny README file
Wolfgang (Blub) Bumiller [Sun, 18 Nov 2012 18:15:20 +0000 (19:15 +0100)]
Importing a tiny README file

11 years agoImporting LICENSE file
Wolfgang (Blub) Bumiller [Sun, 18 Nov 2012 18:14:06 +0000 (19:14 +0100)]
Importing LICENSE file

11 years agoChecking in an INSTALL file
Wolfgang (Blub) Bumiller [Sun, 18 Nov 2012 17:54:10 +0000 (18:54 +0100)]
Checking in an INSTALL file

11 years agoAdding myself to main.c's copyright notice
Wolfgang (Blub) Bumiller [Sun, 18 Nov 2012 16:06:26 +0000 (17:06 +0100)]
Adding myself to main.c's copyright notice

11 years agoAdded #include
Wolfgang (Blub) Bumiller [Sun, 18 Nov 2012 15:22:07 +0000 (16:22 +0100)]
Added #include

11 years agoDon't skip the \n after parsing a pragma in the lexer otherwise 2 pragmas in the...
Wolfgang (Blub) Bumiller [Sun, 18 Nov 2012 15:17:19 +0000 (16:17 +0100)]
Don't skip the \n after parsing a pragma in the lexer otherwise 2 pragmas in the row wouldn't work

11 years agopragma line(lineno) - sets the linenumber for the line after the pragma
Wolfgang (Blub) Bumiller [Sun, 18 Nov 2012 14:32:03 +0000 (15:32 +0100)]
pragma line(lineno) - sets the linenumber for the line after the pragma

11 years agoBetter linecounting for pragmas; support for prgama file(filename)
Wolfgang (Blub) Bumiller [Sun, 18 Nov 2012 14:30:40 +0000 (15:30 +0100)]
Better linecounting for pragmas; support for prgama file(filename)

11 years agoMake pragmas pass through the preprocessor so the user can write them manually
Wolfgang (Blub) Bumiller [Sun, 18 Nov 2012 14:30:24 +0000 (15:30 +0100)]
Make pragmas pass through the preprocessor so the user can write them manually

11 years agofixup line counting in #pragmas
Wolfgang (Blub) Bumiller [Sun, 18 Nov 2012 14:23:00 +0000 (15:23 +0100)]
fixup line counting in #pragmas

11 years agoExperimental support for push/pop(line) pragmas
Wolfgang (Blub) Bumiller [Sun, 18 Nov 2012 14:14:42 +0000 (15:14 +0100)]
Experimental support for push/pop(line) pragmas

11 years agoupdate old_string after a recursive preprocess call so we don't reset to a free'd...
Wolfgang (Blub) Bumiller [Sun, 18 Nov 2012 13:39:24 +0000 (14:39 +0100)]
update old_string after a recursive preprocess call so we don't reset to a free'd vector; add recursion header/footer pragmas

11 years agoComment about why stringify is so short
Wolfgang (Blub) Bumiller [Sun, 18 Nov 2012 13:29:15 +0000 (14:29 +0100)]
Comment about why stringify is so short

11 years agodon't call parser_cleanup with -E
Wolfgang (Blub) Bumiller [Sun, 18 Nov 2012 13:27:47 +0000 (14:27 +0100)]
don't call parser_cleanup with -E

11 years agoAdd quotes to the known control sequences... darn. Add stringification via #
Wolfgang (Blub) Bumiller [Sun, 18 Nov 2012 13:26:40 +0000 (14:26 +0100)]
Add quotes to the known control sequences... darn. Add stringification via #

11 years agoThe ftepp now always outputs into a string buffer, with -E the buffer will be dumped...
Wolfgang (Blub) Bumiller [Sun, 18 Nov 2012 12:33:53 +0000 (13:33 +0100)]
The ftepp now always outputs into a string buffer, with -E the buffer will be dumped to stdout or the via -o specified file, without -E it'll be passed to the parser to be compiled

11 years agoMerge branch 'master' into ftepp
Wolfgang (Blub) Bumiller [Sun, 18 Nov 2012 12:06:29 +0000 (13:06 +0100)]
Merge branch 'master' into ftepp

11 years agoCollect accessor functions in the parser so they can later be deleted, fixed that...
Wolfgang (Blub) Bumiller [Sun, 18 Nov 2012 12:06:16 +0000 (13:06 +0100)]
Collect accessor functions in the parser so they can later be deleted, fixed that leak

11 years agoRemoving some code duplication
Wolfgang (Blub) Bumiller [Sun, 18 Nov 2012 12:00:18 +0000 (13:00 +0100)]
Removing some code duplication

11 years agoMake -E print to stdout by default and honor -o, changed handling of source list...
Wolfgang (Blub) Bumiller [Sun, 18 Nov 2012 11:51:38 +0000 (12:51 +0100)]
Make -E print to stdout by default and honor -o, changed handling of source list a bit

11 years agoSince like with parsing, the preprocessor state has to be preserved across files...
Wolfgang (Blub) Bumiller [Sun, 18 Nov 2012 10:54:11 +0000 (11:54 +0100)]
Since like with parsing, the preprocessor state has to be preserved across files for macros, we do that now, and with that introduce a new warning: -Wmultifile-if in case an #if spans over several command-line-provided source files (or progs.src file provided for that matter)

11 years agoSome printf/con_out/con_err conversions, guarded some outputs with not-opts_pp_only...
Wolfgang (Blub) Bumiller [Sun, 18 Nov 2012 10:43:46 +0000 (11:43 +0100)]
Some printf/con_out/con_err conversions, guarded some outputs with not-opts_pp_only so the -E switch can print to stdout normally

11 years agoMerge branch 'master' into ftepp
Wolfgang (Blub) Bumiller [Sat, 17 Nov 2012 10:34:00 +0000 (11:34 +0100)]
Merge branch 'master' into ftepp

11 years agoMerge branch 'master' into test-suite
Dale Weiler [Sat, 17 Nov 2012 10:02:21 +0000 (10:02 +0000)]
Merge branch 'master' into test-suite

Conflicts:
Makefile

11 years agoMore makefile changes
Dale Weiler [Sat, 17 Nov 2012 10:00:55 +0000 (10:00 +0000)]
More makefile changes

11 years agoinstall targets 0.1
Wolfgang (Blub) Bumiller [Sat, 17 Nov 2012 10:00:32 +0000 (11:00 +0100)]
install targets

11 years agoMerge branch 'master' into test-suite
Dale Weiler [Sat, 17 Nov 2012 09:56:48 +0000 (09:56 +0000)]
Merge branch 'master' into test-suite

Conflicts:
Makefile

11 years agoAdded more tests, fixed existing ones, and some more test system changes.
Dale Weiler [Sat, 17 Nov 2012 09:51:55 +0000 (09:51 +0000)]
Added more tests, fixed existing ones, and some more test system changes.

11 years agoTemporary list of dependencies for objects
Wolfgang (Blub) Bumiller [Sat, 17 Nov 2012 09:43:50 +0000 (10:43 +0100)]
Temporary list of dependencies for objects

11 years agoquick and dirty fix to lexerror for when fopen fails
Wolfgang (Blub) Bumiller [Sat, 17 Nov 2012 09:36:35 +0000 (10:36 +0100)]
quick and dirty fix to lexerror for when fopen fails

11 years agoremoving mem.c from this branch in preparation for 0.1
Wolfgang (Blub) Bumiller [Sat, 17 Nov 2012 09:35:52 +0000 (10:35 +0100)]
removing mem.c from this branch in preparation for 0.1

11 years agosigh
Dale Weiler [Sat, 17 Nov 2012 08:54:24 +0000 (08:54 +0000)]
sigh

11 years agoFix test suite
Dale Weiler [Sat, 17 Nov 2012 08:50:09 +0000 (08:50 +0000)]
Fix test suite

11 years agoActually add the tests
Dale Weiler [Sat, 17 Nov 2012 08:31:23 +0000 (08:31 +0000)]
Actually add the tests

11 years agoTest system works, and added some working tests!
Dale Weiler [Sat, 17 Nov 2012 08:10:31 +0000 (08:10 +0000)]
Test system works, and added some working tests!

11 years agoActually commit the new test stuff
Dale Weiler [Sat, 17 Nov 2012 02:55:33 +0000 (02:55 +0000)]
Actually commit the new test stuff

11 years agoNew test-suite initial implementation. Just need to write some tests.
Dale Weiler [Sat, 17 Nov 2012 02:54:30 +0000 (02:54 +0000)]
New test-suite initial implementation.  Just need to write some tests.

11 years agoLexer should keep newlines in merged lines, so will the preprocessor, but therefore...
Wolfgang (Blub) Bumiller [Fri, 16 Nov 2012 22:13:53 +0000 (23:13 +0100)]
Lexer should keep newlines in merged lines, so will the preprocessor, but therefore the lexer will replace comments with actual spaces so we don't get borken output... also don't error about redifining a macro when inside a non-outputting #if branch

11 years ago## concatenation, -Wpreprocessor warning about redefining macros, #undef
Wolfgang (Blub) Bumiller [Fri, 16 Nov 2012 21:54:59 +0000 (22:54 +0100)]
## concatenation, -Wpreprocessor warning about redefining macros, #undef

11 years agodon't error on non-EOL EOF at the end of a macro line
Wolfgang (Blub) Bumiller [Fri, 16 Nov 2012 21:41:29 +0000 (22:41 +0100)]
don't error on non-EOL EOF at the end of a macro line

11 years agoalso use recursive-expansion on macros without parameters
Wolfgang (Blub) Bumiller [Fri, 16 Nov 2012 21:38:58 +0000 (22:38 +0100)]
also use recursive-expansion on macros without parameters

11 years agorecursively call the preprocessor on expanded macros
Wolfgang (Blub) Bumiller [Fri, 16 Nov 2012 21:31:51 +0000 (22:31 +0100)]
recursively call the preprocessor on expanded macros

11 years agoExpand macros into a string buffer
Wolfgang (Blub) Bumiller [Fri, 16 Nov 2012 21:22:31 +0000 (22:22 +0100)]
Expand macros into a string buffer

11 years agomoving ftepp_delete out of ftepp_preprocess so that it can actually be called recursively
Wolfgang (Blub) Bumiller [Fri, 16 Nov 2012 21:07:53 +0000 (22:07 +0100)]
moving ftepp_delete out of ftepp_preprocess so that it can actually be called recursively

11 years agoftepp_out can now output to a string buffer
Wolfgang (Blub) Bumiller [Fri, 16 Nov 2012 21:06:07 +0000 (22:06 +0100)]
ftepp_out can now output to a string buffer

11 years agoCorrectly handle nested #ifs
Wolfgang (Blub) Bumiller [Fri, 16 Nov 2012 21:02:38 +0000 (22:02 +0100)]
Correctly handle nested #ifs

11 years agoRelax the preprocessor condition: # in the middle of a line also counts, but take...
Wolfgang (Blub) Bumiller [Fri, 16 Nov 2012 20:37:34 +0000 (21:37 +0100)]
Relax the preprocessor condition: # in the middle of a line also counts, but take care of builtin numbers since they use # as well

11 years agoFix a bug in macro call parameter parsing
Wolfgang (Blub) Bumiller [Fri, 16 Nov 2012 20:27:15 +0000 (21:27 +0100)]
Fix a bug in macro call parameter parsing

11 years agoParsing parameters for a macro call
Wolfgang (Blub) Bumiller [Fri, 16 Nov 2012 20:20:31 +0000 (21:20 +0100)]
Parsing parameters for a macro call

11 years agomacro_body parse function shouldn't skip whitespace inside
Wolfgang (Blub) Bumiller [Fri, 16 Nov 2012 19:50:28 +0000 (20:50 +0100)]
macro_body parse function shouldn't skip whitespace inside

11 years agomoving ftepp_out further up, using it in ftepp_macro_call, generating output of param...
Wolfgang (Blub) Bumiller [Fri, 16 Nov 2012 19:49:37 +0000 (20:49 +0100)]
moving ftepp_out further up, using it in ftepp_macro_call, generating output of parameter-less macros

11 years agoftepp_macro_call/ftepp_skipallwhite
Wolfgang (Blub) Bumiller [Fri, 16 Nov 2012 19:46:52 +0000 (20:46 +0100)]
ftepp_macro_call/ftepp_skipallwhite

11 years agoAlso allow empty-parameter-list macros
Wolfgang (Blub) Bumiller [Fri, 16 Nov 2012 19:41:20 +0000 (20:41 +0100)]
Also allow empty-parameter-list macros

11 years agoParsing basic macro body, no special tokens yet
Wolfgang (Blub) Bumiller [Fri, 16 Nov 2012 19:38:44 +0000 (20:38 +0100)]
Parsing basic macro body, no special tokens yet

11 years agoSet the mergelines flag only for preprocessor commands
Wolfgang (Blub) Bumiller [Fri, 16 Nov 2012 19:32:03 +0000 (20:32 +0100)]
Set the mergelines flag only for preprocessor commands

11 years agomergelines flag for the lexer to handle a backslash-newline
Wolfgang (Blub) Bumiller [Fri, 16 Nov 2012 19:29:20 +0000 (20:29 +0100)]
mergelines flag for the lexer to handle a backslash-newline

11 years agofixing up dtors, parsing parameters of macros
Wolfgang (Blub) Bumiller [Fri, 16 Nov 2012 19:15:04 +0000 (20:15 +0100)]
fixing up dtors, parsing parameters of macros

11 years agoUpdate #if description comment
Wolfgang (Blub) Bumiller [Fri, 16 Nov 2012 19:04:30 +0000 (20:04 +0100)]
Update #if description comment

11 years agoUnary NOT in #if
Wolfgang (Blub) Bumiller [Fri, 16 Nov 2012 19:02:27 +0000 (20:02 +0100)]
Unary NOT in #if

11 years agohandling the noops flag better now
Wolfgang (Blub) Bumiller [Fri, 16 Nov 2012 18:32:02 +0000 (19:32 +0100)]
handling the noops flag better now

11 years agoParsing some basic #ifs with defined()
Wolfgang (Blub) Bumiller [Fri, 16 Nov 2012 18:28:20 +0000 (19:28 +0100)]
Parsing some basic #ifs with defined()