Dale Weiler
|
8c08897749
|
Fixes
|
2013-04-21 10:13:51 +00:00 |
|
Dale Weiler
|
b47e3ebccf
|
Remove hashset
|
2013-04-21 04:56:41 +00:00 |
|
Wolfgang Bumiller
|
46752af74b
|
parser_const_string now uses hashtables; hashtables may want to dup an empty string without it becoming NULL - also replacing ir_strdup with the new util_ one
|
2013-04-17 18:23:30 +02:00 |
|
Dale Weiler
|
0b0b6423ba
|
Use hashtable for macro definitions in the preprocessor, this speeds up the search for them, and the removal of them making it O(1) instead of O(n). This also makes my 30 second xonotic compiles take only 13 seconds
|
2013-04-17 10:51:33 +00:00 |
|
Dale Weiler
|
d7be99c9dd
|
More perliminary reworking for threading
|
2013-04-17 06:30:09 +00:00 |
|
Dale Weiler
|
1f0a1b8140
|
Perliminary parser reworking, required for the proposed multithreading.
|
2013-04-17 00:52:52 +00:00 |
|
Wolfgang Bumiller
|
1a9c82483c
|
fix macro parameters
|
2013-04-15 21:07:44 +02:00 |
|
Wolfgang Bumiller
|
1caf1b3ebe
|
util_strdup: don't use util_memory_a with -DNOTRACK
|
2013-04-15 20:53:53 +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
|
7ba7fd5968
|
Fet rid of explicit file stream flushes, streams are flushed on exit, which we can always gurantee.
|
2013-04-14 01:32:29 +00:00 |
|
Dale Weiler
|
eb2a74f7e7
|
Flatten more external functions
|
2013-04-14 01:25:11 +00:00 |
|
Dale Weiler
|
3e7340c52c
|
More external function flatening (less external symbols)
|
2013-04-14 01:07:39 +00:00 |
|
Dale Weiler
|
aebab8b68a
|
Push definitions when -O0
|
2013-02-25 08:52:17 +00:00 |
|
Dale Weiler
|
5acde18ef1
|
Sigh
|
2013-02-10 02:09:12 +00:00 |
|
Dale Weiler
|
b0c6dc5ab2
|
Fix mem leak.
|
2013-02-10 02:08:17 +00:00 |
|
Dale Weiler
|
8d59d7029d
|
Cleanup cargocult directory and file specific things, to fs.c (renamed file.c which also contains directory handling stuff). Also cleaned up some stuff, and added proper end comments to conditional inclusion stuff.
|
2013-02-08 12:06:59 +00:00 |
|
Wolfgang Bumiller
|
46892daa3a
|
Reverting this awful unmaintainable mess of option description system
|
2013-02-04 00:19:56 +01:00 |
|
Dale Weiler
|
a6ecc3cbc4
|
Cache lengths in corrector. This speeds up the corrector a little.
|
2013-01-30 23:22:03 +00: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
|
18c317a787
|
Empty string, not "<null>"
|
2013-01-30 06:28:02 +00:00 |
|
Dale Weiler
|
8c6f4c3fc3
|
Cleanups
|
2013-01-30 06:27:06 +00:00 |
|
Dale Weiler
|
44c87bedfc
|
It is used, gcc is a liar.
|
2013-01-30 06:14:35 +00:00 |
|
Dale Weiler
|
98fd5cd429
|
Some cleanups and what not.
|
2013-01-30 06:13:11 +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 |
|
Dale Weiler
|
480b2fc7b6
|
Added documentation to all options inside the binary itself. These will be used later for "man/nroff -man"-like documentation on OSs that lack "man" and the concept of system wide documentation. Also it will be nice to add -Wsome_warning help (to get some help about a specific warning/error, etc).
|
2013-01-30 02:56:58 +00:00 |
|
Wolfgang Bumiller
|
06f53b1a28
|
When not actually executing, don't complain about invalid progs.dat versions for now.
|
2013-01-17 17:36:06 +01:00 |
|
Wolfgang Bumiller
|
3652a122ed
|
Removed -fenhanced-diagnostics - it's now --correct, which makes sense since it doesn't affect the compilation process itself
|
2013-01-12 17:10:07 +01:00 |
|
Wolfgang Bumiller
|
199ed6c31f
|
Fix a typo - why the hell does clang not complain? Why the hell does it even compile with clang...
|
2013-01-11 20:04:46 +01:00 |
|
Wolfgang Bumiller
|
3436fa7d89
|
added the --add-info compile switch: it adds a global const string named version to the 'reserved' namespace, ie ends up named 'reserved:version', containing the --version string
|
2013-01-11 19:18:51 +01:00 |
|
Wolfgang Bumiller
|
5ea710e317
|
In order to avoid release version strings in non-git builds, by default --version on non-tagged commits now also prints 'development build' as the 2nd line
|
2013-01-11 10:40:33 +01:00 |
|
Wolfgang Bumiller
|
1c1ea1d0f7
|
strictness sweep: (void)-ing all vec_ macros which don't evaluate to a sensible value
|
2013-01-10 18:26:35 +01:00 |
|
Wolfgang Bumiller
|
7a5a328c54
|
--version now prints GMQCC_GITINFO, which is not not defined in gmqcc.h to some empty string, it just won't exist in release builds
|
2013-01-10 16:07:33 +01:00 |
|
Wolfgang Bumiller
|
10c7f4f838
|
don't call correct_edit anew for each scope
|
2013-01-09 21:16:22 +01:00 |
|
Wolfgang Bumiller
|
4f7113116d
|
-Wall now does not set -Wuninitialized-global
|
2013-01-09 20:39:17 +01:00 |
|
Wolfgang Bumiller
|
9c8ddb3771
|
An evil optimization to the trie, now has a fixed amount of branches and uses a char-to-index map to index into the branches...
|
2013-01-06 13:07:28 +01:00 |
|
Wolfgang Bumiller
|
8bc9d4b427
|
Committing an evil allocator and a trie to speed up the correction stuff
|
2013-01-05 19:09:36 +01:00 |
|
Dale Weiler
|
d97e032fcf
|
Cleanups and add the corrector to the makefile. Starting integration with the parser.
|
2013-01-04 10:05:41 +00:00 |
|
Dale Weiler
|
9bda8f61f4
|
Add specialized diagnostics for when predefined macros are used and ftepp predefined macros are not enabled.
|
2013-01-03 12:04:32 +00: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 |
|
Dale Weiler
|
467a4740da
|
Fix some issues
|
2013-01-02 16:34:55 +00:00 |
|
Dale Weiler
|
686394654f
|
Implemented a optimized hash-set that can be used in various parts of the compiler (to get a little more speed). I intend this to replace the hackery that is code_genstring, and code_util_str_htgeth.
|
2013-01-01 07:59:04 +00:00 |
|
Dale Weiler
|
29db4a44ed
|
Happy new years!
|
2013-01-01 05:08:55 +00:00 |
|
Dale Weiler
|
1182ab55c5
|
Fix #include for <machine/endian.h> s/endiane/endian/
|
2012-12-31 14:40:08 +00:00 |
|
Wolfgang Bumiller
|
e37adb8c47
|
GMQCC_GITINFO
|
2012-12-28 20:39:30 +01:00 |
|
Wolfgang Bumiller
|
40b2a26e89
|
TYPE_NIL, builder->nil, ast_value_codegen for TYPE_NIL
|
2012-12-28 18:05:28 +01:00 |
|
Dale Weiler
|
8f34e9fa37
|
added util_vasprintf/util_asprintf .. so we can stop assuming a certian static array size for formatting strings ... I expect to see full migration to this before the next release for protection of over/under flows. As well as identifers >= 1024 bytes :)
|
2012-12-28 15:02:53 +00:00 |
|
Dale Weiler
|
566dda6ad7
|
Working on getting gmqcc to work when compiled with tcc
|
2012-12-28 09:30:01 +00:00 |
|
Wolfgang Bumiller
|
5cfd97c344
|
-fbail-on-werror option
|
2012-12-27 12:46:36 +01:00 |
|
Wolfgang Bumiller
|
b42328dbc6
|
Switch over to LONGBIT
|
2012-12-26 21:39:00 +01:00 |
|