aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorgrischka <grischka>2010-01-14 21:00:05 +0100
committergrischka <grischka>2010-01-14 21:00:05 +0100
commita40814cc9d7abf166ac972b515c954daf0f30d28 (patch)
tree2d9ce677438000b1ba356e04f78f1e959e9a7739
parent4e5170d4a59a6cadb3d11d918f5dd674141e3266 (diff)
downloadtinycc-a40814cc9d7abf166ac972b515c954daf0f30d28.tar.gz
tinycc-a40814cc9d7abf166ac972b515c954daf0f30d28.tar.bz2
tccpp: signal missing #endif error
-rw-r--r--tccpp.c7
1 files changed, 5 insertions, 2 deletions
diff --git a/tccpp.c b/tccpp.c
index 10b6dda..f6f8a6a 100644
--- a/tccpp.c
+++ b/tccpp.c
@@ -2105,8 +2105,11 @@ static inline void next_nomacro1(void)
tok_flags |= TOK_FLAG_EOF;
tok = TOK_LINEFEED;
goto keep_tok_flags;
- } else if (s1->include_stack_ptr == s1->include_stack ||
- !(parse_flags & PARSE_FLAG_PREPROCESS)) {
+ } else if (!(parse_flags & PARSE_FLAG_PREPROCESS)) {
+ tok = TOK_EOF;
+ } else if (s1->ifdef_stack_ptr != file->ifdef_stack_ptr) {
+ error("missing #endif");
+ } else if (s1->include_stack_ptr == s1->include_stack) {
/* no include left : end of file. */
tok = TOK_EOF;
} else {