diff options
| author | grischka <grischka> | 2010-01-14 21:00:05 +0100 |
|---|---|---|
| committer | grischka <grischka> | 2010-01-14 21:00:05 +0100 |
| commit | a40814cc9d7abf166ac972b515c954daf0f30d28 (patch) | |
| tree | 2d9ce677438000b1ba356e04f78f1e959e9a7739 | |
| parent | 4e5170d4a59a6cadb3d11d918f5dd674141e3266 (diff) | |
| download | tinycc-a40814cc9d7abf166ac972b515c954daf0f30d28.tar.gz tinycc-a40814cc9d7abf166ac972b515c954daf0f30d28.tar.bz2 | |
tccpp: signal missing #endif error
| -rw-r--r-- | tccpp.c | 7 |
1 files changed, 5 insertions, 2 deletions
@@ -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 { |
