diff --git a/parse.c b/parse.c index 25071d9..65f002e 100644 --- a/parse.c +++ b/parse.c @@ -366,7 +366,7 @@ int ParseStatement(struct ParseState *Parser) if (LexGetToken(Parser, &LexerValue, TRUE) != TokenStringConstant) ProgramFail(Parser, "\"filename.h\" expected"); - //ScanFile(LexerValue->Val->String); // XXX - need to dereference char * here + PlatformScanFile(LexerValue->Val->Pointer.Segment->Val->Array.Data); CheckTrailingSemicolon = FALSE; break; } diff --git a/tests/18_include.c b/tests/18_include.c new file mode 100644 index 0000000..3438b07 --- /dev/null +++ b/tests/18_include.c @@ -0,0 +1,3 @@ +printf("including\n"); +#include "18_include.h" +printf("done\n"); diff --git a/tests/18_include.expect b/tests/18_include.expect new file mode 100644 index 0000000..87729df --- /dev/null +++ b/tests/18_include.expect @@ -0,0 +1,3 @@ +including +included +done diff --git a/tests/18_include.h b/tests/18_include.h new file mode 100644 index 0000000..01f894d --- /dev/null +++ b/tests/18_include.h @@ -0,0 +1 @@ +printf("included\n"); diff --git a/tests/Makefile b/tests/Makefile index ee27957..f73b176 100644 --- a/tests/Makefile +++ b/tests/Makefile @@ -13,7 +13,8 @@ TESTS= 00_assignment.test \ 13_integer_literals.test \ 14_if.test \ 16_nesting.test \ - 17_enum.test + 17_enum.test \ + 18_include.test %.test: %.expect %.c @echo Test: $*...