Dale Weiler
79a7aa70b9
Track strdups too in the statistics
2013-06-02 04:38:20 +00:00
Dale Weiler
c8daf483f3
This was an experiment that snuk it's way inside that commit.
2013-06-02 04:32:20 +00:00
Dale Weiler
166b79720c
Vector tracing, step two in determining how to lower memory usage.
2013-06-02 04:29:53 +00:00
Dale Weiler
121e080697
Guart statistics by option.
2013-06-02 00:07:54 +00:00
Dale Weiler
280dfdd3f8
Add statistics for vector usage to the output. Step one in lowering memory usage. ONE FUCKING MILLION VECTORS for XONOTIC..
2013-06-02 00:03:27 +00:00
Wolfgang Bumiller
d85e86141c
fix a leak on a parse-error
2013-06-01 23:36:05 +02:00
Dale Weiler
655822ec1a
Doh
2013-06-01 20:20:25 +00:00
Dale Weiler
062180e9a8
Fix some possible memleaks.
2013-06-01 20:18:53 +00:00
Wolfgang Bumiller
9f2b9e1b46
Merge branch 'master' into cooking
2013-06-01 20:12:27 +02:00
Wolfgang Bumiller
ff63e5bd73
fix the INCLUDE_DEF flag getting applied regardless of dotranslate...
2013-06-01 20:12:14 +02:00
Wolfgang Bumiller
1dce501b70
Merge branch 'master' into cooking
2013-06-01 18:16:56 +02:00
Wolfgang Bumiller
ed585f8c04
fix: dotranslate now sets AST_FLAG_INCLUDE_DEF to not get removed by -Ostrip-constant-names
2013-06-01 18:16:50 +02:00
Dale Weiler
b0a0769534
Merge branch 'cooking' of github.com:graphitemaster/gmqcc into cooking
2013-05-30 19:36:37 +00:00
Dale Weiler
0b6269f607
column printing for warnings and errors now
2013-05-30 19:36:01 +00:00
Wolfgang Bumiller
ba781c53ef
now a bare 'return;' is not required anymore if return has been assigned anywhere
2013-05-29 17:08:03 +02:00
Wolfgang Bumiller
a76702cb36
make sure missing return values still warn
2013-05-29 17:01:26 +02:00
Wolfgang Bumiller
5aba29006b
return assignment factorial test
2013-05-29 16:58:18 +02:00
Wolfgang Bumiller
9167de1631
fixing that comment...
2013-05-29 16:56:39 +02:00
Wolfgang Bumiller
afdc0c9dc8
assignable return value now lives in ast_function, as globals can get overwritten randomly; removed parser_find_retval; updated parse_return
2013-05-29 16:51:59 +02:00
Dale Weiler
db6ca6c5f8
Make static
2013-05-29 11:32:42 +00:00
Dale Weiler
fd5506b376
Update test template.
2013-05-29 11:30:26 +00:00
Dale Weiler
1b71caa1fe
Update man page
2013-05-29 11:29:52 +00:00
Dale Weiler
6d6a2efada
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.
2013-05-29 11:13:42 +00:00
Dale Weiler
2923b718e1
Merge branch 'union-replacement' into cooking
...
Conflicts:
ast.c
2013-05-29 03:43:49 +00:00
Dale Weiler
e3f4ae3038
Add back that splint flag
2013-05-29 03:39:38 +00:00
Dale Weiler
d45956f55e
Fix that memory leak that I spent hours trying to find months ago and didn't succeed at.
2013-05-29 03:35:51 +00:00
Dale Weiler
f892b32335
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.
2013-05-29 03:29:04 +00:00
Dale Weiler
df8b486c98
Prevent negitive numbers from being used as the left operand of shift operator.
2013-05-29 02:37:45 +00:00
Dale Weiler
e02ebfe486
Result of shift operation on signed integers is bad.
2013-05-29 02:24:12 +00:00
Dale Weiler
f281de7a3c
Cleanups and fixes
2013-05-29 02:16:50 +00:00
Wolfgang Bumiller
d70b571769
killing the union types
2013-05-11 22:34:01 +02:00
Wolfgang Bumiller
ef6e2bd583
first step to getting rid of those unions we don't use anyway
2013-05-11 22:05:30 +02:00
Wolfgang Bumiller
a0fa90ddd5
less confusing
2013-05-07 20:35:20 +02:00
Wolfgang Bumiller
802005f571
be more strict here
2013-05-07 20:13:19 +02:00
Wolfgang Bumiller
4d0a5af475
removing this dead code_init call
2013-05-07 19:59:06 +02:00
Wolfgang Bumiller
c5225b2fa1
fixing a few leaks - code_write doesn't delete the code object anymore, code_cleanup has to be called
2013-05-07 19:56:41 +02:00
Wolfgang Bumiller
8c8ae71d65
changing a few ast_delete to ast_unref in places where the to-be-deleted maybe coming from some other place
2013-05-07 19:39:10 +02:00
Wolfgang Bumiller
3e7cd8a98b
Merge pull request #111 from matthiaskrgr/cooking_stuff
...
.gitignore: add binarys
2013-05-05 04:12:14 -07:00
Matthias Krüger
9823b294df
.gitignore: add binarys
2013-05-05 12:53:58 +02:00
Dale Weiler
c07c78c666
Escape strings in executor for -printdefs
2013-05-02 19:18:59 +00:00
Dale Weiler
79a5ed0482
Implemented support for having codegen (and lno files) be wrote out to memory, this essentially allows us to embed the compiler in applications now.
2013-04-28 04:29:20 +00:00
Dale Weiler
721b581376
Fix deps (remove duplicates with clever make tricks)
2013-04-28 03:50:22 +00:00
Dale Weiler
3d115760a0
Merge branch 'cooking' of github.com:graphitemaster/gmqcc into cooking
2013-04-28 03:42:04 +00:00
Dale Weiler
a8e2a47da8
Less general name for PAK utility, added install targets for PAK utility, added manpag for PAK utility, this closes #108
2013-04-28 03:41:03 +00:00
Wolfgang Bumiller
f6792c3a05
Merge branch 'master' into cooking
2013-04-27 19:05:06 +02:00
Wolfgang Bumiller
bc4749d95a
Merge pull request #109 from matthiaskrgr/PKGBUILD_master
...
PKGBUILD: archlinux: fix build by applying a patch (4c4aa5534c
) on 0.2.9 package.
Accepting this with a patch in order for it to keep the 0.2.9 version info.
2013-04-27 10:04:43 -07:00
Matthias Krüger
90eed12e97
PKGBUILD: archlinux: fix build by applying a patch ( 4c4aa5534c
) on 0.2.9 package.
2013-04-27 18:45:26 +02:00
Wolfgang Bumiller
2058ce69a4
Merge branch 'master' into cooking
2013-04-27 17:52:54 +02:00
Wolfgang Bumiller
4c4aa5534c
dup is marked as warn-unused-result
2013-04-27 17:51:51 +02:00
Dale Weiler
dc6a7436ee
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.
2013-04-27 15:20:01 +00:00