Commit graph

617 commits

Author SHA1 Message Date
Dale Weiler
73d9aa29c4 Made intrinsics seperate from the parser. 2013-08-14 06:02:15 +00:00
Dale Weiler
216330a7e2 Some intrinsic cleanups 2013-08-14 03:03:49 +00:00
Dale Weiler
3e24b5a74b Remove debugging aid and left over cruft. 2013-07-31 18:54:38 +00:00
Dale Weiler
960cb7034a The problem was so subtle 2013-07-31 18:53:00 +00:00
Dale Weiler
5f2b7e3d57 fixed vector ops constant folding. 2013-07-31 17:05:43 +00:00
Dale Weiler
d0ee56f25f more fixes 2013-07-31 16:31:45 +00:00
Dale Weiler
fa5ad1212e Operator constant folding rewrite almost complete, just need to track down why two tests are failing. 2013-07-31 15:49:45 +00:00
Dale Weiler
920dbaf1e0 Work in progress constant-folding rewrite. 2013-07-31 09:04:19 +00:00
Dale Weiler
2c975fe48f I'm in a state of confusion as to why constant folding was never done on comparisions, now it is ;) 2013-07-30 17:27:54 +00:00
Dale Weiler
d6ca5673dc Use the _t consistency naming scheme. Also various cleanups. 2013-07-30 16:00:51 +00:00
Dale Weiler
c7679722fb Please the whitespace gods 2013-07-27 11:48:55 +00:00
Dale Weiler
8db9724c5d Revert "Smaller memory footprint, 4/8 bytes vs 12/24 for individual token lex_ctx's. Use to be a 'shallow' copy of the details in lex_file, now it's a pointer to the contents in lex_file."
This reverts commit cddf70f46b.
2013-07-26 16:17:41 +00:00
Dale Weiler
cddf70f46b Smaller memory footprint, 4/8 bytes vs 12/24 for individual token lex_ctx's. Use to be a 'shallow' copy of the details in lex_file, now it's a pointer to the contents in lex_file. 2013-07-26 16:09:26 +00:00
Dale Weiler
44d5481828 There was too many 16-sized buckets when compiling xonotic, increase the size: this is cheaper on memory and slightly faster. 2013-07-26 14:50:37 +00:00
Dale Weiler
764b9abaf4 Cleanups 2013-07-19 11:43:22 +00:00
Wolfgang Bumiller
17318af62f fix typo 2013-07-01 10:37:51 +02:00
Dale Weiler
063c50fce4 More bug fixes and dead code elimination 2013-06-22 01:23:59 +00:00
Dale Weiler
d39fb653aa Fix some more bugs, and use dup2 because dup leaks on some implementations. 2013-06-22 01:14:13 +00:00
Dale Weiler
fe296de42f Fix more bugs (mostly possible NULL pointer dereferences) 2013-06-21 23:26:49 +00:00
Dale Weiler
125d039e3d Fix some bugs 2013-06-21 23:16:00 +00:00
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