diff options
author | Reid Kleckner <reid@kleckner.net> | 2014-06-25 00:08:10 +0000 |
---|---|---|
committer | Reid Kleckner <reid@kleckner.net> | 2014-06-25 00:08:10 +0000 |
commit | 5bd096aef0b9d4caa0c1c8f4a0f28288b6464af8 (patch) | |
tree | 0f89faf128f2f1b04fc1fb6eff3153879f35e92d | |
parent | d03ed82c9d0c2fb1a03e4f8e1f2107a5fe15ec63 (diff) | |
download | clang-5bd096aef0b9d4caa0c1c8f4a0f28288b6464af8.tar.gz clang-5bd096aef0b9d4caa0c1c8f4a0f28288b6464af8.tar.bz2 clang-5bd096aef0b9d4caa0c1c8f4a0f28288b6464af8.tar.xz |
Split tests for __if_exists out into their own file
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@211649 91177308-0d34-0410-b5e6-96231b3b80d8
-rw-r--r-- | test/Parser/MicrosoftExtensions.cpp | 97 | ||||
-rw-r--r-- | test/Parser/ms-if-exists.cpp | 93 |
2 files changed, 93 insertions, 97 deletions
diff --git a/test/Parser/MicrosoftExtensions.cpp b/test/Parser/MicrosoftExtensions.cpp index 72d6c2ed58..7f3ef6d903 100644 --- a/test/Parser/MicrosoftExtensions.cpp +++ b/test/Parser/MicrosoftExtensions.cpp @@ -227,103 +227,6 @@ void interface_test() { __int64 x7 = __int64(0); - -namespace If_exists_test { - -class IF_EXISTS { -private: - typedef int Type; -}; - -int __if_exists_test() { - int b=0; - __if_exists(IF_EXISTS::Type) { - b++; - b++; - } - __if_exists(IF_EXISTS::Type_not) { - this will not compile. - } - __if_not_exists(IF_EXISTS::Type) { - this will not compile. - } - __if_not_exists(IF_EXISTS::Type_not) { - b++; - b++; - } -} - - -__if_exists(IF_EXISTS::Type) { - int var23; -} - -__if_exists(IF_EXISTS::Type_not) { - this will not compile. -} - -__if_not_exists(IF_EXISTS::Type) { - this will not compile. -} - -__if_not_exists(IF_EXISTS::Type_not) { - int var244; -} - -int __if_exists_init_list() { - - int array1[] = { - 0, - __if_exists(IF_EXISTS::Type) {2, } - 3 - }; - - int array2[] = { - 0, - __if_exists(IF_EXISTS::Type_not) { this will not compile } - 3 - }; - - int array3[] = { - 0, - __if_not_exists(IF_EXISTS::Type_not) {2, } - 3 - }; - - int array4[] = { - 0, - __if_not_exists(IF_EXISTS::Type) { this will not compile } - 3 - }; - -} - - -class IF_EXISTS_CLASS_TEST { - __if_exists(IF_EXISTS::Type) { - // __if_exists, __if_not_exists can nest - __if_not_exists(IF_EXISTS::Type_not) { - int var123; - } - int var23; - } - - __if_exists(IF_EXISTS::Type_not) { - this will not compile. - } - - __if_not_exists(IF_EXISTS::Type) { - this will not compile. - } - - __if_not_exists(IF_EXISTS::Type_not) { - int var244; - } -}; - -} - - int __identifier(generic) = 3; int __identifier(int) = 4; struct __identifier(class) { __identifier(class) *__identifier(for); }; diff --git a/test/Parser/ms-if-exists.cpp b/test/Parser/ms-if-exists.cpp new file mode 100644 index 0000000000..f1cfbcfdfe --- /dev/null +++ b/test/Parser/ms-if-exists.cpp @@ -0,0 +1,93 @@ +// RUN: %clang_cc1 %s -std=c++11 -fsyntax-only -Wmicrosoft -verify -fms-extensions + +// expected-no-diagnostics + +class MayExist { +private: + typedef int Type; +}; + +void test_if_exists_stmts() { + int b = 0; + __if_exists(MayExist::Type) { + b++; + b++; + } + __if_exists(MayExist::Type_not) { + this will not compile. + } + __if_not_exists(MayExist::Type) { + this will not compile. + } + __if_not_exists(MayExist::Type_not) { + b++; + b++; + } +} + +__if_exists(MayExist::Type) { + int var23; +} + +__if_exists(MayExist::Type_not) { + this will not compile. +} + +__if_not_exists(MayExist::Type) { + this will not compile. +} + +__if_not_exists(MayExist::Type_not) { + int var244; +} + +void test_if_exists_init_list() { + + int array1[] = { + 0, + __if_exists(MayExist::Type) {2, } + 3 + }; + + int array2[] = { + 0, + __if_exists(MayExist::Type_not) { this will not compile } + 3 + }; + + int array3[] = { + 0, + __if_not_exists(MayExist::Type_not) {2, } + 3 + }; + + int array4[] = { + 0, + __if_not_exists(MayExist::Type) { this will not compile } + 3 + }; + +} + + +class IfExistsClassScope { + __if_exists(MayExist::Type) { + // __if_exists, __if_not_exists can nest + __if_not_exists(MayExist::Type_not) { + int var123; + } + int var23; + } + + __if_exists(MayExist::Type_not) { + this will not compile. + } + + __if_not_exists(MayExist::Type) { + this will not compile. + } + + __if_not_exists(MayExist::Type_not) { + int var244; + } +}; |