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 |
|
Dale Weiler
|
d35d953a91
|
Remove parser_compile_string_len, and make parser_compiler_string take an additional length argument.
|
2012-12-23 07:22:15 +00:00 |
|
Dale Weiler
|
6951f3dfcc
|
fix comments
|
2012-12-23 07:19:49 +00:00 |
|
Dale Weiler
|
4224ac5ca0
|
fixes, and removed a #pragma warning(disable ...) in MSVC .. thanks to the FILE wrapping interface.
|
2012-12-23 07:18:00 +00:00 |
|
Dale Weiler
|
d18656c2dc
|
Cleanup flexible array / vector system
|
2012-12-23 07:14:16 +00:00 |
|
Dale Weiler
|
6bc29a1601
|
Merge branch 'master' of github.com:graphitemaster/gmqcc
|
2012-12-23 06:06:57 +00:00 |
|
Dale Weiler
|
13003bf6af
|
Wrapper around FILE to take advantage of MSVC "secure" CRT. We don't actually defend bounds checks (we just hack in the few ones to silent MSVC .. and to pass WinRT "native code" rules)
|
2012-12-23 06:05:22 +00:00 |
|
Wolfgang Bumiller
|
9d54ea6b0c
|
More stuff for qcvm -info
|
2012-12-22 23:30:52 +01:00 |
|
Wolfgang Bumiller
|
aef7ff87fc
|
Makefile: lexer.o depends on lexer.h
|
2012-12-22 20:43:59 +01:00 |
|
Wolfgang Bumiller
|
77639bb21d
|
guard ]] with lex->flags.noops
|
2012-12-22 20:41:02 +01:00 |
|
Wolfgang Bumiller
|
eb952f1199
|
fix -fshort-logic to cast to true boolean values
|
2012-12-22 20:05:15 +01:00 |
|
Wolfgang Bumiller
|
96ddc217da
|
manpage: capital section headings, updated -fcorrect-logic description, added -Wunknown-attribute
|
2012-12-22 18:19:51 +01:00 |
|
Wolfgang Bumiller
|
e8cd9411b0
|
-Wunknown-attribute; and don't error on unknown attributes
|
2012-12-22 18:16:41 +01:00 |
|
Wolfgang Bumiller
|
7cf0ba5aa8
|
'noreturn' is now an attribute and parsed as [[noreturn]]
|
2012-12-22 18:09:56 +01:00 |
|
Wolfgang Bumiller
|
b38b3b08bd
|
properly fill the token string for TOKEN_ATTRIBUTE_*
|
2012-12-22 18:09:17 +01:00 |
|
Wolfgang Bumiller
|
2c2bfab8bc
|
is now no keyword anymore
|
2012-12-22 18:03:43 +01:00 |
|
Wolfgang Bumiller
|
26a80e0868
|
Lexer: [[ and ]] are now TOKEN_ATTRIBUTE_{OPEN,CLOSE}
|
2012-12-22 18:00:51 +01:00 |
|
Wolfgang Bumiller
|
949cd9bb06
|
Test cases for -fcorrect-logic
|
2012-12-22 17:55:55 +01:00 |
|
Wolfgang Bumiller
|
d858237010
|
Adding truth-flags testsuite for strings
|
2012-12-22 17:36:06 +01:00 |
|
Wolfgang Bumiller
|
1f070b740f
|
-ffalse-empty-strings in && and ||
|
2012-12-22 17:31:31 +01:00 |
|
Wolfgang Bumiller
|
0fe71af4ce
|
-fcorrect-logic now handles only vectors
|
2012-12-22 17:18:37 +01:00 |
|
Wolfgang Bumiller
|
7efc3a4c21
|
Error when using both -ffalse-empty-strings and -ftrue-empty-strings
|
2012-12-22 16:50:09 +01:00 |
|
Wolfgang Bumiller
|
8459895fdd
|
Fix a bug with -fperl-logic and -fcorrect-logic
|
2012-12-22 16:25:19 +01:00 |
|
Wolfgang Bumiller
|
b4e38a8fed
|
Fix: ast_value.cvq must be an int, not a bool;
Fixes #62
|
2012-12-22 12:30:20 +01:00 |
|
Dale Weiler
|
fa401b6f56
|
Cleanups and make compile with clang again with no warnings.
|
2012-12-22 08:22:50 +00:00 |
|
Dale Weiler
|
7d2a2f2ade
|
cleanups and fixes that cppcheck found
|
2012-12-22 08:07:54 +00:00 |
|
Dale Weiler
|
322fbaf389
|
More cleanups
|
2012-12-22 07:54:14 +00:00 |
|
Dale Weiler
|
9ba655e74c
|
Remove more unused code
|
2012-12-22 07:46:43 +00:00 |
|
Dale Weiler
|
313e442107
|
Make gmqcc binary smaller (by removing some useless code)
|
2012-12-22 07:40:17 +00:00 |
|
Dale Weiler
|
ed11fe130b
|
Stick to one hash function (no platform optimized versions)
|
2012-12-22 07:33:11 +00:00 |
|
Dale Weiler
|
7753e19ba8
|
Cleanups
|
2012-12-22 07:24:25 +00:00 |
|
Dale Weiler
|
88fee02228
|
Windows stuff for visual studio now offical works with exception to colorized output to cmd (which actually should work). As well as the testsuite which lacks implementations of task_popen/task_pclose.
|
2012-12-21 06:16:08 -05:00 |
|
Wolfgang Bumiller
|
43cf6e7cba
|
-Opeephole now also reduces CALL stores
|
2012-12-21 11:42:23 +01:00 |
|
Wolfgang Bumiller
|
48ba6a6189
|
Rename ir_function_pass_tailcall->tailrecursion; Take -fadjust-vector-fields into account when storing field type return-values from functions
|
2012-12-21 11:33:44 +01:00 |
|
Wolfgang Bumiller
|
06ea71d5be
|
manpage: -Wcpp; added a FILES section which contains gmqcc.ini.example - we should install this to some DATADIR in the install make target
|
2012-12-21 11:02:36 +01:00 |
|
Dale Weiler
|
c9e3c29a25
|
testsuite compiles on windows now (but doesn't work). Still need to implement bidirectional piping on stdout/stderr/stdin.. Which for some reason is incredibly stupidly complicated on windows. You need to setup SECURITY_ATTRIBUTES for each handle, do crazy handle duplication, and forking via CreateThread. Meanwhile the whole "concept" of threading is entierly broken in fundamental design on windows, which means you constantly need to store the current process handles for backup, and "inherit" from child process. It's just stupid, provide unix pipes via close/open and dup. Like normal people (they're simple and sane).
|
2012-12-21 01:59:34 -05:00 |
|
Dale Weiler
|
3c003bc168
|
Get gmqcc/qcvm compiling on windows again. Plus work in progress support for the testsuite on windows (does not compile yet).
|
2012-12-21 01:00:51 -05:00 |
|
Dale Weiler
|
0be55824d4
|
Implemented preprocessing error directive tests (should fail)
|
2012-12-21 04:48:01 +00:00 |
|
Dale Weiler
|
0e40ef172a
|
Document ini.example
|
2012-12-21 04:01:47 +00:00 |
|
Dale Weiler
|
bf53f82d16
|
Update ini.example (added UNREACHABLE_CODE, and CPP) as warning options
|
2012-12-21 03:14:31 +00:00 |
|
Dale Weiler
|
f78ab9061b
|
added -Wcpp (for turning off cpp warnings defined with #warning like GCC/clang/pathscale .. no more [-Wunused-variable])
|
2012-12-21 03:12:58 +00:00 |
|
Dale Weiler
|
36a90bb866
|
Implemented #warning and #error preprocessor directives, they're functionally equivalent to CPPs (supporting both string constant and non-string constant versions). Warnings however are printed with a [-Wunused-variable] which isn't correct (TODO: allow systematic changes of -W paramaters in relation to warning fields for preprocessor directives.
|
2012-12-21 03:08:21 +00:00 |
|
Dale Weiler
|
c7a62970a6
|
Merge branch 'master' of github.com:graphitemaster/gmqcc
|
2012-12-20 23:07:33 +00:00 |
|
Dale Weiler
|
e1f0e40341
|
Implemented roboust compile-time endianess check.
|
2012-12-20 23:07:06 +00:00 |
|
Wolfgang Bumiller
|
0bbc8a3350
|
Remove old tempalloc code; disable -Olocaltemps for now
|
2012-12-20 23:52:54 +01:00 |
|
Wolfgang Bumiller
|
e38bdecd21
|
Be more correct with sizes; use a better local-alloc strategy
|
2012-12-20 23:48:41 +01:00 |
|
Wolfgang Bumiller
|
5375400e85
|
minor: fix ast_function_label
|
2012-12-20 23:27:23 +01:00 |
|
Wolfgang Bumiller
|
1d3fdea432
|
Fix util_endianswap; and endianswap the LNO data as well
|
2012-12-20 22:03:51 +01:00 |
|
Wolfgang Bumiller
|
8d86d7d1c1
|
Don't check for is_return but for final at the end of a function so that if 'goto' is the last expression we don't try to append a return
|
2012-12-20 21:05:29 +01:00 |
|
Wolfgang Bumiller
|
93341dd009
|
*sigh*
|
2012-12-20 20:57:05 +01:00 |
|