diff options
author | Reid Kleckner <rnk@google.com> | 2016-09-07 16:38:32 +0000 |
---|---|---|
committer | Reid Kleckner <rnk@google.com> | 2016-09-07 16:38:32 +0000 |
commit | 3f1ec62a8397062b27f2f849ace22e7c97b248f4 (patch) | |
tree | ef80dd543d21b42464ea1d0772b9330583b59f77 /clang/test/Preprocessor | |
parent | cd637012453bf35c9aacf7558138f80f13b2d629 (diff) | |
download | bcm5719-llvm-3f1ec62a8397062b27f2f849ace22e7c97b248f4.tar.gz bcm5719-llvm-3f1ec62a8397062b27f2f849ace22e7c97b248f4.zip |
Parsing MS pragma intrinsic
Parse pragma intrinsic, display warning if the function isn't a builtin
function in clang and suggest including intrin.h.
Patch by Albert Gutowski!
Reviewers: aaron.ballman, rnk
Subscribers: aaron.ballman, cfe-commits
Differential Revision: https://reviews.llvm.org/D23944
llvm-svn: 280825
Diffstat (limited to 'clang/test/Preprocessor')
-rw-r--r-- | clang/test/Preprocessor/pragma_microsoft.c | 16 |
1 files changed, 16 insertions, 0 deletions
diff --git a/clang/test/Preprocessor/pragma_microsoft.c b/clang/test/Preprocessor/pragma_microsoft.c index 2a9e7bab35b..31b907a477c 100644 --- a/clang/test/Preprocessor/pragma_microsoft.c +++ b/clang/test/Preprocessor/pragma_microsoft.c @@ -162,3 +162,19 @@ void g() {} // Test that runtime_checks is parsed but ignored. #pragma runtime_checks("sc", restore) // no-warning + +// Test pragma intrinsic +#pragma intrinsic(memset) // no-warning +#pragma intrinsic(memcpy, strlen, strlen) // no-warning +#pragma intrinsic() // no-warning +#pragma intrinsic(asdf) // expected-warning {{'asdf' is not a recognized builtin; consider including <intrin.h>}} +#pragma intrinsic(main) // expected-warning {{'main' is not a recognized builtin; consider including <intrin.h>}} +#pragma intrinsic( // expected-warning {{missing ')' after}} +#pragma intrinsic(int) // expected-warning {{missing ')' after}} +#pragma intrinsic(strcmp) asdf // expected-warning {{extra tokens at end}} + +#define __INTRIN_H // there should be no notes after defining __INTRIN_H +#pragma intrinsic(asdf) // expected-warning-re {{'asdf' is not a recognized builtin{{$}}}} +#pragma intrinsic(memset) // no-warning +#undef __INTRIN_H +#pragma intrinsic(asdf) // expected-warning {{'asdf' is not a recognized builtin; consider including <intrin.h>}} |