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 |
|
Wolfgang Bumiller
|
a6547a15f3
|
no need to check the array, the 2nd NOT is a NOT_F
|
2012-12-20 20:56:49 +01:00 |
|
Wolfgang Bumiller
|
8dc6696957
|
manpage: -fcorrect-logic, -ftrue-empty-strings, -ffalse-empty-strings
|
2012-12-20 20:56:08 +01:00 |
|
Wolfgang Bumiller
|
ccbccad994
|
fix -fcorrect-logic to use double-not instead of a single one - wow that was a bad one
|
2012-12-20 20:55:56 +01:00 |
|
Wolfgang Bumiller
|
712be84bba
|
Testcases for -ftrue-empty-strings and -ffalse-empty-strings
|
2012-12-20 20:43:58 +01:00 |
|
Wolfgang Bumiller
|
68c4070f62
|
Fix the -fcorrect-logic condition
|
2012-12-20 20:40:59 +01:00 |
|
Wolfgang Bumiller
|
0988b731b7
|
Fix -fcorrect-logic
|
2012-12-20 20:33:05 +01:00 |
|
Wolfgang Bumiller
|
b595ec03f8
|
fix a leak in the local-allocator
|
2012-12-20 20:26:54 +01:00 |
|
Wolfgang Bumiller
|
98b6772db9
|
Fix a leak: free code_linenums
|
2012-12-20 20:26:14 +01:00 |
|
Wolfgang Bumiller
|
4f9c7861ec
|
For loops may have an empty condition - don't try processing a NULL
|
2012-12-20 20:23:35 +01:00 |
|
Wolfgang Bumiller
|
a985a5cab1
|
while/for/do now all use process_condition, ast_loop got 2 new parameters for more efficient translation
|
2012-12-20 20:22:31 +01:00 |
|
Wolfgang Bumiller
|
d72cb42b08
|
process_condition function used by parse_if - need to still add it to loops
|
2012-12-20 19:51:30 +01:00 |
|
Wolfgang Bumiller
|
db577fdf17
|
-ftrue-empty-strings now changes type_not_instr[TYPE_STRING] to INSTR_NOT_F
|
2012-12-20 19:32:57 +01:00 |
|
Wolfgang Bumiller
|
34063108a6
|
since unary not doesn't fold these, remove them from immediate_is_true
|
2012-12-20 19:19:12 +01:00 |
|