Commit graph

2753 commits

Author SHA1 Message Date
Wolfgang (Blub) Bumiller
04fd3d04d9 the codegen has to use STORE_V for .vector, not STORE_FLD - contrary to the regular global-assignment, even fteqcc gets this right, so gmqcc should too 2012-11-09 20:11:17 +01:00
Wolfgang (Blub) Bumiller
9141217481 Merged parsing of variable and field declarations into 1 function 2012-11-09 19:10:27 +01:00
Wolfgang (Blub) Bumiller
68148dd0e8 Delete an explicit #define 2012-11-06 19:50:16 +01:00
Wolfgang (Blub) Bumiller
e143db0cae gcc lost it's magic analyzer and now complains about uninitialized stuff... <sadface> 2012-11-04 11:41:44 +01:00
Wolfgang (Blub) Bumiller
5ff0013357 error on more than 8 params for now since more need special treatment 2012-11-02 22:51:26 +01:00
Wolfgang (Blub) Bumiller
bf256abd66 Delete the test preprocess.c file and get the use/build part out of main.c/Makefile 2012-11-02 18:59:21 +01:00
Wolfgang (Blub) Bumiller
5bef2f2870 better test loop 2012-11-02 18:49:50 +01:00
Wolfgang (Blub) Bumiller
b5970707c0 Properly handle string and char constants when preprocessing: don't unescape and keep surrounding quotes 2012-11-02 18:48:32 +01:00
Wolfgang (Blub) Bumiller
b219d4b468 Changed the TOKEN_WHITE to contain the actual data - ie the comments 2012-11-02 18:39:32 +01:00
Wolfgang (Blub) Bumiller
caf4771ba1 Changed the preprocess test to reproduce the input file 2012-11-02 18:37:58 +01:00
Wolfgang (Blub) Bumiller
a3791b3f51 Finishing the preprocessing flag for the lexer, added preprocess.c to test it 2012-11-02 18:34:14 +01:00
Wolfgang (Blub) Bumiller
a195e296a9 -E switch to set opt_pp_only 2012-11-02 18:33:51 +01:00
Wolfgang (Blub) Bumiller
ab86b0470c preprocessing flag for the lexer 2012-11-02 18:33:51 +01:00
Wolfgang (Blub) Bumiller
2ef0203d17 Fix a minor bug in the lexer 2012-11-02 18:30:20 +01:00
Wolfgang (Blub) Bumiller
b1b586d398 -disasm should show builtins as builtins rather than trying to print negative statements - skip function 0 since it's not a valid function 2012-11-02 12:32:13 +01:00
Wolfgang (Blub) Bumiller
265e66b98b -disasm switch for qcvm 2012-11-02 12:23:55 +01:00
Wolfgang (Blub) Bumiller
9cf696e0fa functions-as-parameters testcase 2012-11-01 18:24:48 +01:00
Wolfgang (Blub) Bumiller
70f9be0f59 Test for entity-field-pointer function parameters 2012-11-01 18:21:53 +01:00
Wolfgang (Blub) Bumiller
edd9ded23c reserve the keywords 'switch,struct,union,break,continue' - but only with std != QCC - eg. id1 uses a function named 'break' 2012-11-01 14:20:58 +01:00
Wolfgang (Blub) Bumiller
415816e4dc string-literals now do not treat digraphs as digraphs 2012-11-01 14:05:14 +01:00
Wolfgang (Blub) Bumiller
90419eb13c A comment/note/hint about how to deal with not-yet declared things later in past-0.2 2012-10-31 18:55:03 +01:00
Wolfgang (Blub) Bumiller
951c37cc71 invalid-assign testcase for non-lvalue stores 2012-10-30 21:21:23 +01:00
Wolfgang (Blub) Bumiller
0fedee8312 If parser_finish fails, the exit-value must also indicate an error 2012-10-30 21:20:06 +01:00
Wolfgang (Blub) Bumiller
62f55d5155 Error when lvalues are requested where that's not possible 2012-10-30 21:15:42 +01:00
Wolfgang (Blub) Bumiller
0ca2807096 Actually use a di-graph in the ngraph test, and replaced the curly braces and the builgin-# sign 2012-10-29 14:47:11 +01:00
Wolfgang (Blub) Bumiller
aff3cbbaa8 di/trigraph testcase 2012-10-29 14:36:05 +01:00
Wolfgang (Blub) Bumiller
bd739528ad ast_call_check_types should not check more parameters than actually available in both the call and the function type - fixes a crash introduced by this on variadic functions 2012-10-29 14:35:50 +01:00
Wolfgang (Blub) Bumiller
6126db10df digraphs 2012-10-29 13:56:00 +01:00
Wolfgang (Blub) Bumiller
e6cebc3ea3 trigraphs 2012-10-29 13:52:39 +01:00
Wolfgang (Blub) Bumiller
18272f9f34 Pulling in a rudimentary testsuite - we have to find a better solution ... 2012-10-28 19:34:39 +01:00
Wolfgang (Blub) Bumiller
2fa544f681 Error when trying to assign variables whose types are different - with -std=qcc only warn when they are both functions with non-matching parameter types 2012-10-28 20:32:13 +01:00
Wolfgang (Blub) Bumiller
8ed6676d0f -Wassign-function-types - since in qcc you may assign functionpointers which take different parameters... 2012-10-28 20:31:35 +01:00
Wolfgang (Blub) Bumiller
f56c5f425a ast_type_to_string function 2012-10-28 20:30:55 +01:00
Wolfgang (Blub) Bumiller
90571a6151 ast_store needs to take over the type of its destination 2012-10-28 20:02:57 +01:00
Wolfgang (Blub) Bumiller
cd8043fc18 a failing 'parse-statement' call should not print 'parse error' at all since at that point more descriptive error message has to have been printed already 2012-10-28 15:53:30 +01:00
Wolfgang (Blub) Bumiller
634a544dca The proper way to deal with error messages which did not cause the parser to bail out early is this, not a 'parse error'-error... 2012-10-28 15:48:51 +01:00
Wolfgang (Blub) Bumiller
478a9249a0 add error for function parameters of invalid types 2012-10-28 15:44:27 +01:00
Wolfgang (Blub) Bumiller
201bfb9803 When erroring while parsing a function and the function had been added to the parser's function list, remove it, otherwise it'll get freed again in the parser's cleanup function 2012-10-28 15:28:39 +01:00
Wolfgang (Blub) Bumiller
921bbd7a8a Remove the -benchmark option+code 2012-10-27 15:33:37 +02:00
Wolfgang (Blub) Bumiller
5adc3fd9c1 Don't forget to set the _alloc in vector resize, also set _alloc back in _append if mem_a had failed 2012-10-09 20:56:54 +02:00
Dale Weiler
bbdba9b8d7 some awesome documentation about CRC for future viewers 2012-10-02 12:06:25 -04:00
Wolfgang (Blub) Bumiller
c024cbaaa0 Add the actual crc implementation 2012-10-02 17:56:59 +02:00
Wolfgang (Blub) Bumiller
4f0d573275 leaving the old crc in, commented out 2012-10-02 17:54:19 +02:00
Wolfgang (Blub) Bumiller
5dd8e23dfd Cleaner crc implementation 2012-10-02 17:51:03 +02:00
Wolfgang (Blub) Bumiller
354dd94b95 Generating checksums 2012-10-02 17:09:49 +02:00
Wolfgang (Blub) Bumiller
9a1ec9aaa3 code_crc added, initializing to 0 2012-10-02 16:01:35 +02:00
Wolfgang (Blub) Bumiller
9d70c3a56e Print a warning if end_sys_fields was declared as a field rather than a global 2012-10-02 15:59:37 +02:00
Wolfgang (Blub) Bumiller
4742ee9123 don't warn about unused end_sys_{globals,fields} 2012-10-02 15:35:43 +02:00
Wolfgang (Blub) Bumiller
984d8e7adc link with $(LIBS), so on linux you can easily add -lrt without changing the Makefile 2012-10-02 15:35:31 +02:00
Wolfgang (Blub) Bumiller
aca5e05173 removing some old unused stuff from lexer.h 2012-08-24 23:21:16 +02:00