Commit graph

2313 commits

Author SHA1 Message Date
Dale Weiler
77cf1f8685 Doh 2013-06-04 02:49:49 +00:00
Dale Weiler
11179a2a71 Major header reworking, this respects the namespaces properly. Makes object dependency more obvious, allows for better make caches, and prevents misuse of library features, i.e use con_* instead of printf. 2013-06-04 02:47:07 +00:00
Wolfgang Bumiller
b2348e1de0 remove the ast tree earlier - saves over 3% peak memory usage 2013-06-02 12:35:53 +02:00
Dale Weiler
06cccbb646 Fix a divide by zero error 2013-06-02 09:50:39 +00:00
Dale Weiler
c1a9ce3404 Fix output 2013-06-02 08:52:30 +00:00
Dale Weiler
c569e87bd0 Fix two bugs 2013-06-02 08:49:16 +00:00
Dale Weiler
ee42d2a570 Some cleanups 2013-06-02 08:37:22 +00:00
Dale Weiler
564cac859a Fix the peak 2013-06-02 08:28:56 +00:00
Dale Weiler
7ea67748fa Holy whoops 2013-06-02 08:25:00 +00:00
Dale Weiler
9af3c502da Major utility rewrite for compiler memory utilization statistics. Cleanups everywhere, no more NOTRACK stuff, all allocates are tracked. Major identifier cleanups as well. 2013-06-02 08:21:06 +00:00
Dale Weiler
ec7bf4767a Some static 2013-06-02 05:32:37 +00:00
Dale Weiler
1ce8d2ea6e Hashtable statistics too 2013-06-02 05:09:28 +00:00
Dale Weiler
f884bd2217 Track hashtables too 2013-06-02 04:45:04 +00:00
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