Dale Weiler
|
82fd7fcf68
|
Move code generator into ir_builder for earlier free. It's also a much more cleaner design than load parser->code for all ast/ir operations. We also have a proper chain'd design now (so making this a library will be easier).
|
2013-06-20 10:52:58 +00:00 |
|
Dale Weiler
|
e6c1d66c35
|
Merge branch 'master' into cooking
Conflicts:
opts.def
|
2013-06-17 20:14:26 +00:00 |
|
Dale Weiler
|
7e76b42f11
|
Merge branch 'master' of github.com:graphitemaster/gmqcc
|
2013-06-17 20:12:02 +00:00 |
|
Dale Weiler
|
23cb7f4e09
|
Fix some bugs
|
2013-06-17 20:11:37 +00:00 |
|
Wolfgang Bumiller
|
f8db5a7c6d
|
reclassify_token should only deal with tokens < TOKEN_START... should fix #113
|
2013-06-16 09:56:21 +02:00 |
|
Wolfgang Bumiller
|
e6bb7697f9
|
reclassify_token should only deal with tokens < TOKEN_START... should fix #113
|
2013-06-16 09:53:11 +02:00 |
|
Dale Weiler
|
82e92811e4
|
Uhh forgot to save file
|
2013-06-16 03:46:07 +00:00 |
|
Dale Weiler
|
9a6316221c
|
Fix memleak
|
2013-06-16 03:45:06 +00:00 |
|
Dale Weiler
|
17ae2dbe4d
|
Make ^ legal for vector ^ vector, and vector ^ float (read the huge comment that explains why and what this does). Currently only works for constants (don't know how to do expression for multiple vector components yet).
|
2013-06-16 02:17:29 +00:00 |
|
Dale Weiler
|
5694c77d16
|
I added it for a reason, because I was smart. I forgot about it because of life :(
|
2013-06-15 11:04:08 +00:00 |
|
Dale Weiler
|
0c58509417
|
This is easier
|
2013-06-15 09:53:12 +00:00 |
|
Dale Weiler
|
202fc67f93
|
Correct order
|
2013-06-15 09:52:22 +00:00 |
|
Dale Weiler
|
b9cf1f1262
|
Fix bug
|
2013-06-15 09:50:02 +00:00 |
|
Dale Weiler
|
a8fddbb7d3
|
Implemented bitwise xor operator.
|
2013-06-15 09:48:40 +00:00 |
|
Dale Weiler
|
04406b191f
|
Less terse, it confuses people.
|
2013-06-15 08:56:34 +00:00 |
|
Wolfgang Bumiller
|
290d065a79
|
again with the comments...
|
2013-06-15 09:49:15 +02:00 |
|
Wolfgang Bumiller
|
179da9241c
|
working on vararg piping: detecting several error cases, adding -Wunsafe-types and -funsafe-varargs
|
2013-06-15 09:46:44 +02:00 |
|
Dale Weiler
|
7115176c0e
|
Strlen idiot
|
2013-06-15 07:42:01 +00:00 |
|
Dale Weiler
|
fee7794789
|
Limit corrections on strings to <= 16 bytes. Otherwise memory usage spikes instantly on errors, and causes Windows DEP to kill gmqcc.
|
2013-06-15 07:40:42 +00:00 |
|
Dale Weiler
|
5012616cb0
|
Limit corrections on strings to <= 16 bytes. Otherwise memory usage spikes instantly on errors, and causes Windows DEP to kill gmqcc.
|
2013-06-15 07:39:36 +00:00 |
|
Dale Weiler
|
8afd373e4f
|
Fixed whitespace
|
2013-06-14 21:36:16 +00:00 |
|
Dale Weiler
|
17fd017d6f
|
Revert "Actually works now"
This reverts commit daa1487aef .
|
2013-06-13 22:23:07 +00:00 |
|
Dale Weiler
|
daa1487aef
|
Actually works now
|
2013-06-13 22:20:17 +00:00 |
|
Wolfgang Bumiller
|
f023b7097f
|
fix pedantic compile issue
|
2013-06-12 16:04:40 +02:00 |
|
Wolfgang Bumiller
|
2c59385633
|
fixing double-free in initialzied string arrays, using them in the testcase
|
2013-06-12 15:53:07 +02:00 |
|
Wolfgang Bumiller
|
8ce331b563
|
allow array size to be inferred from the initializer
|
2013-06-12 15:47:11 +02:00 |
|
Wolfgang Bumiller
|
633d2ba8a4
|
make the ast use the initlist
|
2013-06-12 14:36:59 +02:00 |
|
Wolfgang Bumiller
|
7a36a8bdd8
|
parsing array initializers
|
2013-06-12 14:32:12 +02: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 |
|
Wolfgang Bumiller
|
d85e86141c
|
fix a leak on a parse-error
|
2013-06-01 23:36:05 +02: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 |
|
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
|
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
|
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
|
e02ebfe486
|
Result of shift operation on signed integers is bad.
|
2013-05-29 02:24:12 +00:00 |
|
Wolfgang Bumiller
|
d70b571769
|
killing the union types
|
2013-05-11 22:34:01 +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
|
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
|
9f8bee4bf1
|
ast_value now has an initializer list array, still unused but it's there for later
|
2013-04-26 10:47:55 +02:00 |
|