]>
git.rm.cloudns.org Git - xonotic/gmqcc.git/log
Dale Weiler [Fri, 31 May 2013 06:24:50 +0000 (06:24 +0000)]
Add option to turn on and off the diagnostic system, and added a TODO.
Dale Weiler [Fri, 31 May 2013 06:16:01 +0000 (06:16 +0000)]
Remove you, I shall!
Dale Weiler [Fri, 31 May 2013 06:10:32 +0000 (06:10 +0000)]
Added diagnostic for expected tokens, a test, and a testsuite underflow bug.
Dale Weiler [Fri, 31 May 2013 05:54:16 +0000 (05:54 +0000)]
Diagnostic tests for expected semicolon situations.
Dale Weiler [Fri, 31 May 2013 05:37:43 +0000 (05:37 +0000)]
Testsuite can now run tests in tests/diagnostics. By comparing the output produced from the compiler itself.
Dale Weiler [Fri, 31 May 2013 04:18:00 +0000 (04:18 +0000)]
Implemented diagnostic for unexpected identifiers
Dale Weiler [Fri, 31 May 2013 04:00:42 +0000 (04:00 +0000)]
Make it compile as C++ code again.
Dale Weiler [Fri, 31 May 2013 03:58:21 +0000 (03:58 +0000)]
Fix build for clang
Dale Weiler [Fri, 31 May 2013 03:56:12 +0000 (03:56 +0000)]
Added diagnostic for case expressions
Dale Weiler [Fri, 31 May 2013 03:52:44 +0000 (03:52 +0000)]
Cleanup
Dale Weiler [Fri, 31 May 2013 03:44:23 +0000 (03:44 +0000)]
Merge branch 'cooking' into diagnostics
Conflicts:
lexer.c
Dale Weiler [Fri, 31 May 2013 03:41:03 +0000 (03:41 +0000)]
Perliminary restructuring / implementation of the diagnostics system.
Dale Weiler [Thu, 30 May 2013 19:36:37 +0000 (19:36 +0000)]
Merge branch 'cooking' of github.com:graphitemaster/gmqcc into cooking
Dale Weiler [Thu, 30 May 2013 19:36:01 +0000 (19:36 +0000)]
column printing for warnings and errors now
Dale Weiler [Thu, 30 May 2013 18:22:37 +0000 (18:22 +0000)]
Merge branch 'cooking' into diagnostics
Wolfgang Bumiller [Wed, 29 May 2013 15:08:03 +0000 (17:08 +0200)]
now a bare 'return;' is not required anymore if return has been assigned anywhere
Wolfgang Bumiller [Wed, 29 May 2013 15:01:26 +0000 (17:01 +0200)]
make sure missing return values still warn
Wolfgang Bumiller [Wed, 29 May 2013 14:58:18 +0000 (16:58 +0200)]
return assignment factorial test
Wolfgang Bumiller [Wed, 29 May 2013 14:56:39 +0000 (16:56 +0200)]
fixing that comment...
Wolfgang Bumiller [Wed, 29 May 2013 14:51:59 +0000 (16:51 +0200)]
assignable return value now lives in ast_function, as globals can get overwritten randomly; removed parser_find_retval; updated parse_return
Dale Weiler [Wed, 29 May 2013 11:32:42 +0000 (11:32 +0000)]
Make static
Dale Weiler [Wed, 29 May 2013 11:30:26 +0000 (11:30 +0000)]
Update test template.
Dale Weiler [Wed, 29 May 2013 11:29:52 +0000 (11:29 +0000)]
Update man page
Dale Weiler [Wed, 29 May 2013 11:13:42 +0000 (11:13 +0000)]
Experimental support for implicit return assignments. This closes #107. To enable return assignment support use -freturn-assignments. This allows you to do the following in QC code. T name() { return = expr_eval_T; return; /* returns expr_eval_T */ }. It allows for concise code and to rid locals in functions. It also saves a tremendous amount of space since only types of certian globals need to be allocated for returns.
Dale Weiler [Wed, 29 May 2013 03:43:49 +0000 (03:43 +0000)]
Merge branch 'union-replacement' into cooking
Conflicts:
ast.c
Dale Weiler [Wed, 29 May 2013 03:39:38 +0000 (03:39 +0000)]
Add back that splint flag
Dale Weiler [Wed, 29 May 2013 03:35:51 +0000 (03:35 +0000)]
Fix that memory leak that I spent hours trying to find months ago and didn't succeed at.
Dale Weiler [Wed, 29 May 2013 03:29:04 +0000 (03:29 +0000)]
Major export cleanup. Anything that was exported but wasn't used outside where it was implemented has been turned into static, and their exports have been removed. This actually makes the compiler compile slightly faster.
Dale Weiler [Wed, 29 May 2013 02:37:45 +0000 (02:37 +0000)]
Prevent negitive numbers from being used as the left operand of shift operator.
Dale Weiler [Wed, 29 May 2013 02:24:12 +0000 (02:24 +0000)]
Result of shift operation on signed integers is bad.
Dale Weiler [Wed, 29 May 2013 02:16:50 +0000 (02:16 +0000)]
Cleanups and fixes
Wolfgang Bumiller [Sat, 11 May 2013 20:34:01 +0000 (22:34 +0200)]
killing the union types
Wolfgang Bumiller [Sat, 11 May 2013 20:05:30 +0000 (22:05 +0200)]
first step to getting rid of those unions we don't use anyway
Wolfgang Bumiller [Tue, 7 May 2013 18:35:20 +0000 (20:35 +0200)]
less confusing
Wolfgang Bumiller [Tue, 7 May 2013 18:13:19 +0000 (20:13 +0200)]
be more strict here
Wolfgang Bumiller [Tue, 7 May 2013 17:59:06 +0000 (19:59 +0200)]
removing this dead code_init call
Wolfgang Bumiller [Tue, 7 May 2013 17:56:41 +0000 (19:56 +0200)]
fixing a few leaks - code_write doesn't delete the code object anymore, code_cleanup has to be called
Wolfgang Bumiller [Tue, 7 May 2013 17:39:10 +0000 (19:39 +0200)]
changing a few ast_delete to ast_unref in places where the to-be-deleted maybe coming from some other place
Wolfgang Bumiller [Sun, 5 May 2013 11:12:14 +0000 (04:12 -0700)]
Merge pull request #111 from matthiaskrgr/cooking_stuff
.gitignore: add binarys
Matthias Krüger [Sun, 5 May 2013 10:53:58 +0000 (12:53 +0200)]
.gitignore: add binarys
Dale Weiler [Thu, 2 May 2013 19:18:59 +0000 (19:18 +0000)]
Escape strings in executor for -printdefs
Dale Weiler [Sun, 28 Apr 2013 04:29:20 +0000 (04:29 +0000)]
Implemented support for having codegen (and lno files) be wrote out to memory, this essentially allows us to embed the compiler in applications now.
Dale Weiler [Sun, 28 Apr 2013 03:50:22 +0000 (03:50 +0000)]
Fix deps (remove duplicates with clever make tricks)
Dale Weiler [Sun, 28 Apr 2013 03:42:04 +0000 (03:42 +0000)]
Merge branch 'cooking' of github.com:graphitemaster/gmqcc into cooking
Dale Weiler [Sun, 28 Apr 2013 03:41:03 +0000 (03:41 +0000)]
Less general name for PAK utility, added install targets for PAK utility, added manpag for PAK utility, this closes #108
Wolfgang Bumiller [Sat, 27 Apr 2013 17:05:06 +0000 (19:05 +0200)]
Merge branch 'master' into cooking
Wolfgang Bumiller [Sat, 27 Apr 2013 17:04:43 +0000 (10:04 -0700)]
Merge pull request #109 from matthiaskrgr/PKGBUILD_master
PKGBUILD: archlinux: fix build by applying a patch (
4c4aa5534c34 ) on 0.2.9 package.
Accepting this with a patch in order for it to keep the 0.2.9 version info.
Matthias Krüger [Sat, 27 Apr 2013 16:45:26 +0000 (18:45 +0200)]
PKGBUILD: archlinux: fix build by applying a patch (
4c4aa5534c34 ) on 0.2.9 package.
Wolfgang Bumiller [Sat, 27 Apr 2013 15:52:54 +0000 (17:52 +0200)]
Merge branch 'master' into cooking
Wolfgang Bumiller [Sat, 27 Apr 2013 15:51:51 +0000 (17:51 +0200)]
dup is marked as warn-unused-result
Dale Weiler [Sat, 27 Apr 2013 15:20:01 +0000 (15:20 +0000)]
Expression has undefined behavior (left operand modifies code->globals->used, used by right operand): (code->globals)[(((vector_t*)((void *)code->globals)) - 1)->used++] = (code_genstring(code, global->constval.vstring)) Code has unspecified behavior. Order of evaluation of function parameters or subexpressions is not defined, so if a value is used and modified in different places not separated by a sequence point constraining evaluation order, then the result of the expression is unspecified.
Wolfgang Bumiller [Sat, 27 Apr 2013 15:00:27 +0000 (17:00 +0200)]
debian Makefile had the same flaw as archlinux/this... fixing
Wolfgang Bumiller [Sat, 27 Apr 2013 14:55:28 +0000 (16:55 +0200)]
Merge branch 'master' into cooking
Wolfgang Bumiller [Sat, 27 Apr 2013 14:54:53 +0000 (16:54 +0200)]
updating archbsd and archlinux release/PKGBUILD files
Wolfgang Bumiller [Sat, 27 Apr 2013 14:33:55 +0000 (16:33 +0200)]
Merge branch 'master' into cooking
Wolfgang Bumiller [Sat, 27 Apr 2013 14:33:47 +0000 (16:33 +0200)]
Update CHANGES file
Wolfgang Bumiller [Sat, 27 Apr 2013 14:30:35 +0000 (16:30 +0200)]
Starting point of 0.3.0
Wolfgang Bumiller [Sat, 27 Apr 2013 14:30:03 +0000 (16:30 +0200)]
this should be tagged 0.2.9
Wolfgang Bumiller [Fri, 26 Apr 2013 15:56:08 +0000 (17:56 +0200)]
fix distro/ Makefiles
Wolfgang Bumiller [Fri, 26 Apr 2013 15:33:56 +0000 (17:33 +0200)]
don't overwrite ldflags/libs env vars
Dale Weiler [Fri, 26 Apr 2013 15:43:13 +0000 (15:43 +0000)]
Fix OSX compiles
Wolfgang Bumiller [Fri, 26 Apr 2013 15:33:56 +0000 (17:33 +0200)]
don't overwrite ldflags/libs env vars
Wolfgang Bumiller [Fri, 26 Apr 2013 08:45:13 +0000 (10:45 +0200)]
ast_value now has an initializer list array, still unused but it's there for later
Wolfgang Bumiller [Fri, 26 Apr 2013 08:31:38 +0000 (10:31 +0200)]
an = before an { is also always required when the declared variable is not a function; adding because of planned array initializers
Dale Weiler [Thu, 25 Apr 2013 17:39:05 +0000 (17:39 +0000)]
Add expressions for builtins test
Wolfgang Bumiller [Thu, 25 Apr 2013 17:18:50 +0000 (19:18 +0200)]
solve it, not hide it
Wolfgang Bumiller [Thu, 25 Apr 2013 17:18:11 +0000 (19:18 +0200)]
Revert "Just fucking initialize everything"
This reverts commit
aed2b1031c6466a2dbcf909faeac1ac1cff0f6e6 .
Wolfgang Bumiller [Thu, 25 Apr 2013 17:13:43 +0000 (19:13 +0200)]
manpage and ini update
Dale Weiler [Thu, 25 Apr 2013 17:11:15 +0000 (17:11 +0000)]
Just fucking initialize everything
Dale Weiler [Thu, 25 Apr 2013 17:08:02 +0000 (17:08 +0000)]
Pushing the -fexpressions-for-builtins stuff and the modff for catching fractional-part builtin numbers.
Wolfgang Bumiller [Thu, 25 Apr 2013 16:47:54 +0000 (18:47 +0200)]
this allows builtin numbers to be constant expressions, not just constants
Wolfgang Bumiller [Thu, 25 Apr 2013 15:39:12 +0000 (17:39 +0200)]
change the value of TOKEN_EOF
Dale Weiler [Thu, 25 Apr 2013 12:22:34 +0000 (12:22 +0000)]
Less extern
Dale Weiler [Thu, 25 Apr 2013 12:08:43 +0000 (12:08 +0000)]
cleaner
Dale Weiler [Thu, 25 Apr 2013 12:08:13 +0000 (12:08 +0000)]
less globals
Dale Weiler [Thu, 25 Apr 2013 09:35:30 +0000 (09:35 +0000)]
No more globals for codegen
Wolfgang Bumiller [Thu, 25 Apr 2013 07:55:58 +0000 (09:55 +0200)]
these can be const now
Dale Weiler [Thu, 25 Apr 2013 03:37:40 +0000 (03:37 +0000)]
That is also not needed anymore
Dale Weiler [Thu, 25 Apr 2013 03:36:57 +0000 (03:36 +0000)]
not needed for arm anymore
Dale Weiler [Thu, 25 Apr 2013 03:34:42 +0000 (03:34 +0000)]
Apply some static where it belongs
Dale Weiler [Thu, 25 Apr 2013 03:17:52 +0000 (03:17 +0000)]
Fix alignment issues (can remove a clang warning, and also makes our code more portable!)
Dale Weiler [Thu, 25 Apr 2013 03:11:50 +0000 (03:11 +0000)]
Use the LIBS properly
Wolfgang Bumiller [Wed, 24 Apr 2013 15:47:42 +0000 (17:47 +0200)]
Grrrr
Wolfgang Bumiller [Wed, 24 Apr 2013 15:42:48 +0000 (17:42 +0200)]
manpage: document and explain __FUNC__ and __NULL__
Wolfgang Bumiller [Wed, 24 Apr 2013 14:07:31 +0000 (16:07 +0200)]
Allow string concatenation in the parser as well, for now only for immediate strings and __FUNC__, maybe later -fpermissive or somethign could allow it on const-delcared string variables
Dale Weiler [Wed, 24 Apr 2013 14:08:58 +0000 (14:08 +0000)]
A nicer way of doing this
Dale Weiler [Wed, 24 Apr 2013 14:06:43 +0000 (14:06 +0000)]
remove irrelevant comment
Dale Weiler [Wed, 24 Apr 2013 14:05:09 +0000 (14:05 +0000)]
free the memory for asprintf
Dale Weiler [Wed, 24 Apr 2013 14:04:00 +0000 (14:04 +0000)]
Shitty testsuite support for windows the hacky way because there exists no sane simple way of redirecting pipes without a heafty chunk of code.
Wolfgang Bumiller [Wed, 24 Apr 2013 09:22:29 +0000 (11:22 +0200)]
test for the simple __FUNC__ case
Wolfgang Bumiller [Wed, 24 Apr 2013 09:21:04 +0000 (11:21 +0200)]
recognize the simple case of __FUNC__ in the parser
Dale Weiler [Wed, 24 Apr 2013 09:18:24 +0000 (09:18 +0000)]
fix the intrinsic fail
Dale Weiler [Wed, 24 Apr 2013 04:50:07 +0000 (04:50 +0000)]
typo
Dale Weiler [Wed, 24 Apr 2013 04:48:05 +0000 (04:48 +0000)]
Implemented __TIME_STAMP__ predef, expands to a timestamp of when the __FILE__ was last modified, returned in the format: "Www Mmm dd hh:mm:ss yyyy", where Www is the weekday, Mmm the month (in letter), dd the day of the month, hh:mm:ss the time, and yyyy the year.
Dale Weiler [Wed, 24 Apr 2013 04:17:17 +0000 (04:17 +0000)]
Make ftepps __NULL__ translate to gmqccs untyped nil keyword (this isn't correct behaviour of the __NULL__ constant, but it works)
Dale Weiler [Wed, 24 Apr 2013 01:46:53 +0000 (01:46 +0000)]
Merge branch 'master' into cooking
Dale Weiler [Wed, 24 Apr 2013 01:43:53 +0000 (01:43 +0000)]
Get it compiling in visual studio again.
Dale Weiler [Tue, 23 Apr 2013 22:50:47 +0000 (22:50 +0000)]
Make it compile as C++ code too
Wolfgang Bumiller [Tue, 23 Apr 2013 15:07:19 +0000 (17:07 +0200)]
fix noreturn testcase descriptions... those were mixed up
Wolfgang Bumiller [Tue, 23 Apr 2013 14:54:05 +0000 (16:54 +0200)]
initialize the vector member array so that 'cleanup' won't delete uninitialized pointers