diff options
author | Jordan Rose <jordan_rose@apple.com> | 2013-02-22 00:32:00 +0000 |
---|---|---|
committer | Jordan Rose <jordan_rose@apple.com> | 2013-02-22 00:32:00 +0000 |
commit | c7d1ca52ae1f33a105ad1be217304f74a34c45f3 (patch) | |
tree | 7df0ab4eb10768d90bdb638caefdd3056d5c4c93 /test/Preprocessor/traditional-cpp.c | |
parent | 025b3d4f528ce54242f414057cc45a65e39098db (diff) |
Preproceessor: fix #if skipping under -traditional-cpp.
When parsing directives within skipped #if blocks, we don't want to retain
any whitespace. Previously we were just skipping comments, but it's not
possible to skip comments and retain other whitespace. This change matches
the usual behavior for parsing directives (i.e. the behavior outside of
skipped #if blocks).
<rdar://problem/13267695>
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@175840 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'test/Preprocessor/traditional-cpp.c')
-rw-r--r-- | test/Preprocessor/traditional-cpp.c | 16 |
1 files changed, 16 insertions, 0 deletions
diff --git a/test/Preprocessor/traditional-cpp.c b/test/Preprocessor/traditional-cpp.c index 72024546ff..5a94c00c96 100644 --- a/test/Preprocessor/traditional-cpp.c +++ b/test/Preprocessor/traditional-cpp.c @@ -62,3 +62,19 @@ bracket2(spaces) /* If this were working, this check would be on. * CHECK-NOT: {{^}}>>> spaces <<<{{$}} */ + + +/* Check that #if 0 blocks work as expected */ +#if 0 +#error "this is not an error" + +#if 1 +a b c in skipped block +#endif + +/* Comments are whitespace too */ + +#endif +/* CHECK-NOT: {{^}}a b c in skipped block{{$}} + * CHECK-NOT: {{^}}/* Comments are whitespace too + */ |