]>
git.rm.cloudns.org Git - xonotic/gmqcc.git/log
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
Wolfgang (Blub) Bumiller [Wed, 21 Nov 2012 16:42:44 +0000 (17:42 +0100)]
Actually it's likely...
Wolfgang (Blub) Bumiller [Wed, 21 Nov 2012 16:40:35 +0000 (17:40 +0100)]
Little optimization to not produce an unreachable goto instruction
Wolfgang (Blub) Bumiller [Wed, 21 Nov 2012 16:35:11 +0000 (17:35 +0100)]
'likely' hint for IFs
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
Wolfgang (Blub) Bumiller [Wed, 21 Nov 2012 15:07:36 +0000 (16:07 +0100)]
Fixing warnings
Wolfgang (Blub) Bumiller [Wed, 21 Nov 2012 15:05:54 +0000 (16:05 +0100)]
A hopefully working naive PHI solution
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
Wolfgang (Blub) Bumiller [Mon, 19 Nov 2012 23:21:03 +0000 (00:21 +0100)]
Adding break/continue testcases
Wolfgang (Blub) Bumiller [Mon, 19 Nov 2012 23:20:42 +0000 (00:20 +0100)]
*sigh*
Wolfgang (Blub) Bumiller [Mon, 19 Nov 2012 23:16:49 +0000 (00:16 +0100)]
Fixing switch testcase 7
Wolfgang (Blub) Bumiller [Mon, 19 Nov 2012 22:50:47 +0000 (23:50 +0100)]
switch testcases
Wolfgang (Blub) Bumiller [Mon, 19 Nov 2012 21:27:58 +0000 (22:27 +0100)]
-frelaxed-switch to enable switch on non-constant cases
Wolfgang (Blub) Bumiller [Mon, 19 Nov 2012 21:17:24 +0000 (22:17 +0100)]
Add the missing jump from after the actual last case
Wolfgang (Blub) Bumiller [Mon, 19 Nov 2012 21:08:38 +0000 (22:08 +0100)]
Enter the outgoing block after a switch
Wolfgang (Blub) Bumiller [Mon, 19 Nov 2012 21:06:29 +0000 (22:06 +0100)]
Parsing of switches
Wolfgang (Blub) Bumiller [Mon, 19 Nov 2012 21:06:23 +0000 (22:06 +0100)]
fix bnot_id
Wolfgang (Blub) Bumiller [Mon, 19 Nov 2012 20:40:38 +0000 (21:40 +0100)]
'case' and 'default' are now keywords too, not just switch
Wolfgang (Blub) Bumiller [Mon, 19 Nov 2012 20:17:44 +0000 (21:17 +0100)]
ast_switch
Wolfgang (Blub) Bumiller [Mon, 19 Nov 2012 18:44:26 +0000 (19:44 +0100)]
fix a warning and remove unused variables
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
Wolfgang (Blub) Bumiller [Mon, 19 Nov 2012 18:39:52 +0000 (19:39 +0100)]
break and continue support
Wolfgang (Blub) Bumiller [Mon, 19 Nov 2012 18:22:00 +0000 (19:22 +0100)]
moving 'return' parsing into a function
Wolfgang (Blub) Bumiller [Mon, 19 Nov 2012 17:57:37 +0000 (18:57 +0100)]
moving keywords into an array
Wolfgang (Blub) Bumiller [Mon, 19 Nov 2012 18:19:30 +0000 (19:19 +0100)]
Fix con_vprintmsg madness
Wolfgang (Blub) Bumiller [Mon, 19 Nov 2012 18:06:38 +0000 (19:06 +0100)]
This is probably what was intended actually
Dale Weiler [Mon, 19 Nov 2012 02:13:46 +0000 (02:13 +0000)]
Merge branch 'master' into test-suite
Conflicts:
Makefile
ir.c
Dale Weiler [Mon, 19 Nov 2012 02:11:24 +0000 (02:11 +0000)]
Added test for variadic arguments
Dale Weiler [Mon, 19 Nov 2012 02:05:18 +0000 (02:05 +0000)]
Added command line parsing to test-suite
Dale Weiler [Mon, 19 Nov 2012 00:22:57 +0000 (00:22 +0000)]
stdout/stderr logging functional now.
Dale Weiler [Sun, 18 Nov 2012 22:59:23 +0000 (22:59 +0000)]
Test suite now logs stdout/stderr to respective files
Wolfgang (Blub) Bumiller [Sun, 18 Nov 2012 19:56:11 +0000 (20:56 +0100)]
Fixing some indentation
Wolfgang (Blub) Bumiller [Sun, 18 Nov 2012 19:36:02 +0000 (20:36 +0100)]
remove a redundant ir_function member
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
Wolfgang (Blub) Bumiller [Sun, 18 Nov 2012 19:32:06 +0000 (20:32 +0100)]
do not set a function-defs nargs to > 8
Wolfgang (Blub) Bumiller [Sun, 18 Nov 2012 19:17:59 +0000 (20:17 +0100)]
CALL to handle extparams, renamed extparams again
Wolfgang (Blub) Bumiller [Sun, 18 Nov 2012 19:11:14 +0000 (20:11 +0100)]
Add a # prefix to EXTPARM%i
Wolfgang (Blub) Bumiller [Sun, 18 Nov 2012 19:06:28 +0000 (20:06 +0100)]
Make functions copy their extparams
Wolfgang (Blub) Bumiller [Sun, 18 Nov 2012 18:19:38 +0000 (19:19 +0100)]
Make the >8 parameter message a warning
Wolfgang (Blub) Bumiller [Sun, 18 Nov 2012 18:15:20 +0000 (19:15 +0100)]
Importing a tiny README file
Wolfgang (Blub) Bumiller [Sun, 18 Nov 2012 18:14:06 +0000 (19:14 +0100)]
Importing LICENSE file
Wolfgang (Blub) Bumiller [Sun, 18 Nov 2012 17:54:10 +0000 (18:54 +0100)]
Checking in an INSTALL file
Wolfgang (Blub) Bumiller [Sun, 18 Nov 2012 16:06:26 +0000 (17:06 +0100)]
Adding myself to main.c's copyright notice
Wolfgang (Blub) Bumiller [Sun, 18 Nov 2012 15:22:07 +0000 (16:22 +0100)]
Added #include
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
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
Wolfgang (Blub) Bumiller [Sun, 18 Nov 2012 14:30:40 +0000 (15:30 +0100)]
Better linecounting for pragmas; support for prgama file(filename)
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
Wolfgang (Blub) Bumiller [Sun, 18 Nov 2012 14:23:00 +0000 (15:23 +0100)]
fixup line counting in #pragmas
Wolfgang (Blub) Bumiller [Sun, 18 Nov 2012 14:14:42 +0000 (15:14 +0100)]
Experimental support for push/pop(line) pragmas
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
Wolfgang (Blub) Bumiller [Sun, 18 Nov 2012 13:29:15 +0000 (14:29 +0100)]
Comment about why stringify is so short
Wolfgang (Blub) Bumiller [Sun, 18 Nov 2012 13:27:47 +0000 (14:27 +0100)]
don't call parser_cleanup with -E
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 #
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
Wolfgang (Blub) Bumiller [Sun, 18 Nov 2012 12:06:29 +0000 (13:06 +0100)]
Merge branch 'master' into ftepp
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
Wolfgang (Blub) Bumiller [Sun, 18 Nov 2012 12:00:18 +0000 (13:00 +0100)]
Removing some code duplication
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
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)
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
Wolfgang (Blub) Bumiller [Sat, 17 Nov 2012 10:34:00 +0000 (11:34 +0100)]
Merge branch 'master' into ftepp
Dale Weiler [Sat, 17 Nov 2012 10:02:21 +0000 (10:02 +0000)]
Merge branch 'master' into test-suite
Conflicts:
Makefile
Dale Weiler [Sat, 17 Nov 2012 10:00:55 +0000 (10:00 +0000)]
More makefile changes
Wolfgang (Blub) Bumiller [Sat, 17 Nov 2012 10:00:32 +0000 (11:00 +0100)]
install targets
Dale Weiler [Sat, 17 Nov 2012 09:56:48 +0000 (09:56 +0000)]
Merge branch 'master' into test-suite
Conflicts:
Makefile
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.
Wolfgang (Blub) Bumiller [Sat, 17 Nov 2012 09:43:50 +0000 (10:43 +0100)]
Temporary list of dependencies for objects
Wolfgang (Blub) Bumiller [Sat, 17 Nov 2012 09:36:35 +0000 (10:36 +0100)]
quick and dirty fix to lexerror for when fopen fails
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
Dale Weiler [Sat, 17 Nov 2012 08:54:24 +0000 (08:54 +0000)]
sigh
Dale Weiler [Sat, 17 Nov 2012 08:50:09 +0000 (08:50 +0000)]
Fix test suite
Dale Weiler [Sat, 17 Nov 2012 08:31:23 +0000 (08:31 +0000)]
Actually add the tests
Dale Weiler [Sat, 17 Nov 2012 08:10:31 +0000 (08:10 +0000)]
Test system works, and added some working tests!
Dale Weiler [Sat, 17 Nov 2012 02:55:33 +0000 (02:55 +0000)]
Actually commit the new test stuff
Dale Weiler [Sat, 17 Nov 2012 02:54:30 +0000 (02:54 +0000)]
New test-suite initial implementation. Just need to write some tests.
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
Wolfgang (Blub) Bumiller [Fri, 16 Nov 2012 21:54:59 +0000 (22:54 +0100)]
## concatenation, -Wpreprocessor warning about redefining macros, #undef
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
Wolfgang (Blub) Bumiller [Fri, 16 Nov 2012 21:38:58 +0000 (22:38 +0100)]
also use recursive-expansion on macros without parameters
Wolfgang (Blub) Bumiller [Fri, 16 Nov 2012 21:31:51 +0000 (22:31 +0100)]
recursively call the preprocessor on expanded macros
Wolfgang (Blub) Bumiller [Fri, 16 Nov 2012 21:22:31 +0000 (22:22 +0100)]
Expand macros into a string buffer
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
Wolfgang (Blub) Bumiller [Fri, 16 Nov 2012 21:06:07 +0000 (22:06 +0100)]
ftepp_out can now output to a string buffer
Wolfgang (Blub) Bumiller [Fri, 16 Nov 2012 21:02:38 +0000 (22:02 +0100)]
Correctly handle nested #ifs
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
Wolfgang (Blub) Bumiller [Fri, 16 Nov 2012 20:27:15 +0000 (21:27 +0100)]
Fix a bug in macro call parameter parsing
Wolfgang (Blub) Bumiller [Fri, 16 Nov 2012 20:20:31 +0000 (21:20 +0100)]
Parsing parameters for a macro call
Wolfgang (Blub) Bumiller [Fri, 16 Nov 2012 19:50:28 +0000 (20:50 +0100)]
macro_body parse function shouldn't skip whitespace inside
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
Wolfgang (Blub) Bumiller [Fri, 16 Nov 2012 19:46:52 +0000 (20:46 +0100)]
ftepp_macro_call/ftepp_skipallwhite
Wolfgang (Blub) Bumiller [Fri, 16 Nov 2012 19:41:20 +0000 (20:41 +0100)]
Also allow empty-parameter-list macros
Wolfgang (Blub) Bumiller [Fri, 16 Nov 2012 19:38:44 +0000 (20:38 +0100)]
Parsing basic macro body, no special tokens yet
Wolfgang (Blub) Bumiller [Fri, 16 Nov 2012 19:32:03 +0000 (20:32 +0100)]
Set the mergelines flag only for preprocessor commands
Wolfgang (Blub) Bumiller [Fri, 16 Nov 2012 19:29:20 +0000 (20:29 +0100)]
mergelines flag for the lexer to handle a backslash-newline
Wolfgang (Blub) Bumiller [Fri, 16 Nov 2012 19:15:04 +0000 (20:15 +0100)]
fixing up dtors, parsing parameters of macros
Wolfgang (Blub) Bumiller [Fri, 16 Nov 2012 19:04:30 +0000 (20:04 +0100)]
Update #if description comment
Wolfgang (Blub) Bumiller [Fri, 16 Nov 2012 19:02:27 +0000 (20:02 +0100)]
Unary NOT in #if
Wolfgang (Blub) Bumiller [Fri, 16 Nov 2012 18:32:02 +0000 (19:32 +0100)]
handling the noops flag better now
Wolfgang (Blub) Bumiller [Fri, 16 Nov 2012 18:28:20 +0000 (19:28 +0100)]
Parsing some basic #ifs with defined()