Wolfgang Bumiller
|
3a4aba0b31
|
Grrrr
|
2013-04-24 17:47:42 +02:00 |
|
Wolfgang Bumiller
|
66305c676a
|
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
|
2013-04-24 17:27:04 +02:00 |
|
Dale Weiler
|
489ad486bc
|
Get it compiling in visual studio again.
|
2013-04-24 01:43:53 +00:00 |
|
Dale Weiler
|
160e7cf7ee
|
Remove trailing whitespace
|
2013-04-21 10:24:55 +00:00 |
|
Wolfgang Bumiller
|
1f667c4b35
|
ast_expression_delete: delete varparam if it is set - fixes another leak
|
2013-04-15 21:05:59 +02:00 |
|
Wolfgang Bumiller
|
d5e90a17f9
|
fix memleak in ast_local_codegen
|
2013-04-15 20:56:48 +02:00 |
|
Dale Weiler
|
ef528d6710
|
Added tracing to strdup for allocations, fixed some memleaks, this isn't pretty (trying to track down some weird memory leak issues)
|
2013-04-14 23:51:16 +00:00 |
|
Dale Weiler
|
ccc2eb3298
|
More function flatening
|
2013-04-14 01:14:14 +00:00 |
|
Dale Weiler
|
48d6375817
|
flatten the use of strcpy, 90% of the cases we already knew the length of the string either at compile-time, or already within the scope we where, thus letting us use strncpy, which can be further optimized (unrolled if static)
|
2013-04-14 01:00:25 +00:00 |
|
Dale Weiler
|
0367a6175d
|
Add some ice
|
2013-03-07 22:52:03 +00:00 |
|
Dale Weiler
|
52ffc6db10
|
Merge branch 'cooking' of github.com:graphitemaster/gmqcc into cooking
|
2013-02-05 17:16:09 +00:00 |
|
Dale Weiler
|
b3e87c3280
|
ast referencing
|
2013-02-05 17:14:56 +00:00 |
|
Wolfgang Bumiller
|
4b5afe3456
|
ast_array_index_codegen: never regenerate code
|
2013-02-05 17:54:14 +01:00 |
|
Wolfgang Bumiller
|
72106b0982
|
removing some left-over alloc checks
|
2013-02-05 17:34:40 +01:00 |
|
Wolfgang Bumiller
|
e662efae61
|
fix: rotate_entfield_array_index_nodes deleting the old array caused expressions to be deleted recursively
|
2013-02-03 23:38:06 +01:00 |
|
Dale Weiler
|
b9f46f4ef7
|
Not an assembler instruction, but virtual instruction used by the IR.
|
2013-01-30 06:31:24 +00:00 |
|
Dale Weiler
|
36c5722273
|
Rename
|
2013-01-30 05:35:07 +00:00 |
|
Dale Weiler
|
d201cfe6b4
|
Work in progress options cleanup.
|
2013-01-30 05:24:30 +00:00 |
|
Wolfgang Bumiller
|
1410840ef6
|
Make the varargs counter more stable, it'll now work with a function pointer with a different number of fixed params
|
2013-01-17 10:30:32 +01:00 |
|
Wolfgang Bumiller
|
00a9d2a9e3
|
fixing a possible NULL deref
|
2013-01-16 20:32:37 +01:00 |
|
Wolfgang Bumiller
|
d7f4e981a3
|
fix: missing-return check: vec_size(entries) is 0 on the entry-block, also check if it's the first block
|
2013-01-14 10:56:56 +01:00 |
|
Wolfgang Bumiller
|
5887afae62
|
copying the output type on ast_array_index_codegen
|
2013-01-12 15:49:04 +01:00 |
|
Wolfgang Bumiller
|
a01388ea7d
|
Copying arg counter into the local
|
2013-01-12 15:06:19 +01:00 |
|
Wolfgang Bumiller
|
2a4ea74a97
|
ir_function stores max_varargs now
|
2013-01-12 14:01:16 +01:00 |
|
Wolfgang Bumiller
|
973122ed9b
|
ast_call now has a va_count which causes a store to reserved:va_count before the call
|
2013-01-12 13:29:47 +01:00 |
|
Wolfgang Bumiller
|
6dfdf69a8e
|
vararg accessor generation
|
2013-01-12 13:01:20 +01:00 |
|
Wolfgang Bumiller
|
c69ba2c734
|
parsing of vararg-counter
|
2013-01-12 11:29:03 +01:00 |
|
Wolfgang Bumiller
|
6a248e2498
|
type restricted varargs
|
2013-01-12 11:10:29 +01:00 |
|
Wolfgang Bumiller
|
ca947d782c
|
Declaration of type-restricted varargs
|
2013-01-12 11:03:17 +01:00 |
|
Wolfgang Bumiller
|
6df3c625b0
|
Added a flag to both ast and ir which enforces the generation of a globaldef for a value
|
2013-01-11 19:15:59 +01:00 |
|
Wolfgang Bumiller
|
cf293bc669
|
handling the ast-destruction in computed goto
|
2013-01-03 13:21:11 +01:00 |
|
Wolfgang Bumiller
|
ae09831227
|
Introducing TYPE_NOEXPR so that these undefined labels cannot be used on the expression side of goto ternary expressions; ast_label now is TYPE_NOEXPR; we may consider setting ast_ifthen to that too unless we want ifthen to return a value...
|
2013-01-03 12:49:21 +01:00 |
|
Wolfgang Bumiller
|
e146fd121c
|
parse_expression now takes a boolean flag on whether or not it should be creating ast_labels for undefined identifiers; creating the label later will pick it up and set its undefined flag to false
|
2013-01-03 12:46:33 +01:00 |
|
Dale Weiler
|
29db4a44ed
|
Happy new years!
|
2013-01-01 05:08:55 +00:00 |
|
Wolfgang Bumiller
|
5a5cb74db2
|
add codegen_output_type to ast_binary_codegen
|
2012-12-31 13:20:08 +01:00 |
|
Wolfgang Bumiller
|
26d43e650f
|
Adding some more internal-error messages where they were missing; fixed ast_ternary_codegen to use the ast_node's type instead of the ir generated ones to avoid erroring on TYPE_NIL
|
2012-12-31 12:08:47 +01:00 |
|
Wolfgang Bumiller
|
a170154927
|
nil in ternary, and fix ternary to honor -fcorrect-logic/-ftrue/false-empty-strings
|
2012-12-31 11:45:00 +01:00 |
|
Wolfgang Bumiller
|
4d5153854b
|
This should actually cover all nil cases
|
2012-12-31 11:34:29 +01:00 |
|
Wolfgang Bumiller
|
819ed10f29
|
nil check in paramter type checking
|
2012-12-31 11:30:02 +01:00 |
|
Dale Weiler
|
46374e94ca
|
Add support for user defined messages for [[deprecated]] generalized attribute
|
2012-12-30 09:58:52 +00:00 |
|
Wolfgang Bumiller
|
755ee5462f
|
Properly support globals initialized to nil
|
2012-12-29 21:15:59 +01:00 |
|
Wolfgang Bumiller
|
33be9d4559
|
Don't allow code like: v * '0 1 0' = 3; to actually work...
|
2012-12-29 15:13:54 +01:00 |
|
Wolfgang Bumiller
|
73bc4cc3e4
|
-Ovector-components
|
2012-12-29 15:05:04 +01:00 |
|
Wolfgang Bumiller
|
40b2a26e89
|
TYPE_NIL, builder->nil, ast_value_codegen for TYPE_NIL
|
2012-12-28 18:05:28 +01:00 |
|
Wolfgang Bumiller
|
a60d0182db
|
finish parsing of labeled loops; ast support added
|
2012-12-28 00:04:09 +01:00 |
|
Wolfgang Bumiller
|
ebb7cb2ae3
|
parsing of loop labels
|
2012-12-27 23:43:20 +01:00 |
|
Wolfgang Bumiller
|
d4483bfda6
|
-Oglobal-temps
|
2012-12-26 23:18:45 +01:00 |
|
Wolfgang Bumiller
|
2b468cb0ee
|
Added the 'static' keyword.
Implements #71
|
2012-12-24 11:30:58 +01:00 |
|
Wolfgang Bumiller
|
7998a98818
|
ir_function now has a flags field - flags are: IR_FLAG_HAS_{ARRAYS,UNINITIALIZED,GOTO}
|
2012-12-23 16:21:38 +01:00 |
|
Dale Weiler
|
c3964cf29d
|
Make compiler and virtual-machine compile as C++ code, also removed gmqcc_voidptr hack.
|
2012-12-23 07:51:19 +00:00 |
|