Commit graph

1096 commits

Author SHA1 Message Date
Dale Weiler
990dcb106a Merge branch 'master' into test-suite
Conflicts:
	Makefile
2012-11-17 09:56:48 +00:00
Dale Weiler
55491bbc23 Added more tests, fixed existing ones, and some more test system changes. 2012-11-17 09:51:55 +00:00
Wolfgang (Blub) Bumiller
6333130537 Temporary list of dependencies for objects 2012-11-17 10:46:23 +01:00
Wolfgang (Blub) Bumiller
33be9edec7 quick and dirty fix to lexerror for when fopen fails 2012-11-17 10:36:35 +01:00
Wolfgang (Blub) Bumiller
7b74a2bb94 removing mem.c from this branch in preparation for 0.1 2012-11-17 10:35:52 +01:00
Dale Weiler
d0c6e0a481 sigh 2012-11-17 08:54:24 +00:00
Dale Weiler
e062c847cb Fix test suite 2012-11-17 08:50:09 +00:00
Dale Weiler
49cb2bcda2 Actually add the tests 2012-11-17 08:31:23 +00:00
Dale Weiler
56987b41eb Test system works, and added some working tests! 2012-11-17 08:10:31 +00:00
Dale Weiler
bf3011a28d Actually commit the new test stuff 2012-11-17 02:55:33 +00:00
Dale Weiler
0dc4febb91 New test-suite initial implementation. Just need to write some tests. 2012-11-17 02:54:30 +00:00
Wolfgang (Blub) Bumiller
515cafe8bd Lexer should keep newlines in merged lines, so will the preprocessor, but therefore the lexer will replace comments with actual spaces so we don't get borken output... also don't error about redifining a macro when inside a non-outputting #if branch 2012-11-16 23:13:53 +01:00
Wolfgang (Blub) Bumiller
990450bfe0 ## concatenation, -Wpreprocessor warning about redefining macros, #undef 2012-11-16 22:54:59 +01:00
Wolfgang (Blub) Bumiller
d237ff1736 don't error on non-EOL EOF at the end of a macro line 2012-11-16 22:41:29 +01:00
Wolfgang (Blub) Bumiller
0ad2b8b2c7 also use recursive-expansion on macros without parameters 2012-11-16 22:38:58 +01:00
Wolfgang (Blub) Bumiller
57ac55ad01 recursively call the preprocessor on expanded macros 2012-11-16 22:31:51 +01:00
Wolfgang (Blub) Bumiller
05a26333fc Expand macros into a string buffer 2012-11-16 22:22:31 +01:00
Wolfgang (Blub) Bumiller
99dd208880 moving ftepp_delete out of ftepp_preprocess so that it can actually be called recursively 2012-11-16 22:07:53 +01:00
Wolfgang (Blub) Bumiller
03f0e39f7f ftepp_out can now output to a string buffer 2012-11-16 22:06:07 +01:00
Wolfgang (Blub) Bumiller
b8a5c87360 Correctly handle nested #ifs 2012-11-16 22:02:38 +01:00
Wolfgang (Blub) Bumiller
5b91c2af5e Relax the preprocessor condition: # in the middle of a line also counts, but take care of builtin numbers since they use # as well 2012-11-16 21:37:34 +01:00
Wolfgang (Blub) Bumiller
7e660951c2 Fix a bug in macro call parameter parsing 2012-11-16 21:27:15 +01:00
Wolfgang (Blub) Bumiller
d688820518 Parsing parameters for a macro call 2012-11-16 21:20:31 +01:00
Wolfgang (Blub) Bumiller
a56c224f9c macro_body parse function shouldn't skip whitespace inside 2012-11-16 20:50:28 +01:00
Wolfgang (Blub) Bumiller
6c0b4a46fe moving ftepp_out further up, using it in ftepp_macro_call, generating output of parameter-less macros 2012-11-16 20:49:37 +01:00
Wolfgang (Blub) Bumiller
5f287fc476 ftepp_macro_call/ftepp_skipallwhite 2012-11-16 20:46:52 +01:00
Wolfgang (Blub) Bumiller
0bd0a430d6 Also allow empty-parameter-list macros 2012-11-16 20:41:20 +01:00
Wolfgang (Blub) Bumiller
c48b9dbf61 Parsing basic macro body, no special tokens yet 2012-11-16 20:38:44 +01:00
Wolfgang (Blub) Bumiller
52d7a5d7be Set the mergelines flag only for preprocessor commands 2012-11-16 20:32:03 +01:00
Wolfgang (Blub) Bumiller
053d8fb0e2 mergelines flag for the lexer to handle a backslash-newline 2012-11-16 20:29:20 +01:00
Wolfgang (Blub) Bumiller
d4fe6ed82d fixing up dtors, parsing parameters of macros 2012-11-16 20:15:04 +01:00
Wolfgang (Blub) Bumiller
34646cfca7 Update #if description comment 2012-11-16 20:04:30 +01:00
Wolfgang (Blub) Bumiller
45a354d664 Unary NOT in #if 2012-11-16 20:02:27 +01:00
Wolfgang (Blub) Bumiller
bdd8b8275e handling the noops flag better now 2012-11-16 19:32:02 +01:00
Wolfgang (Blub) Bumiller
6ab09ef3bf Parsing some basic #ifs with defined() 2012-11-16 19:28:20 +01:00
Wolfgang (Blub) Bumiller
bd5b2a8b58 Fixing indentation 2012-11-16 19:07:23 +01:00
Wolfgang (Blub) Bumiller
0c75182aab Some #if parsing 2012-11-16 19:01:44 +01:00
Wolfgang (Blub) Bumiller
0473fd84d1 using ftepp_out which will honor conditions 2012-11-16 18:29:46 +01:00
Wolfgang (Blub) Bumiller
cc1c197fc6 macro structure, parsing ifdefs and non-macro defines 2012-11-16 18:27:32 +01:00
Wolfgang (Blub) Bumiller
4bee1bdb6e Basic structure of ftepp 2012-11-16 17:46:16 +01:00
Wolfgang (Blub) Bumiller
07ca2e6407 importing initial ftepp.c; -E option now executes the preprocessor 2012-11-16 16:57:59 +01:00
Wolfgang (Blub) Bumiller
9d57cf2774 Removing old make rules for ir/ast tests in deleted test/ dir 2012-11-16 16:42:30 +01:00
Wolfgang (Blub) Bumiller
d1640f177f Free the 3 actual vectors, not the first 3 times 2012-11-15 21:40:32 +01:00
Wolfgang (Blub) Bumiller
4517072af4 Fixing util_memory_r 2012-11-15 21:36:36 +01:00
Wolfgang (Blub) Bumiller
3bd75546ec moving _vec_remove above the 'exposed interface' comment 2012-11-15 21:24:31 +01:00
Wolfgang (Blub) Bumiller
df61f3c182 Fix a typo causing NOTRACK to fail 2012-11-15 21:18:31 +01:00
Dale Weiler
fb30dd9a3f This bug was what caused mem.c to crash, dear lord 2012-11-15 20:04:05 +00:00
Wolfgang (Blub) Bumiller
c583ae24f2 Replacing lexer's vectors and getting rid of the macros 2012-11-15 18:48:38 +01:00
Wolfgang (Blub) Bumiller
906f319673 Replaced it all... 2012-11-15 18:32:09 +01:00
Wolfgang (Blub) Bumiller
b8fc2b7731 cleaned up empty lines 2012-11-15 11:02:16 +01:00