]> granicus.if.org Git - clang/commitdiff
Add support for __builtin_available to __has_builtin
authorAlex Lorenz <arphaman@gmail.com>
Wed, 12 Apr 2017 11:03:25 +0000 (11:03 +0000)
committerAlex Lorenz <arphaman@gmail.com>
Wed, 12 Apr 2017 11:03:25 +0000 (11:03 +0000)
rdar://31576715

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@300049 91177308-0d34-0410-b5e6-96231b3b80d8

lib/Lex/PPMacroExpansion.cpp
test/Parser/objc-available.m

index de166c75e2cb8ede09156c652a24fcfc2b24beed..358c96a783009e5887ac44d4a20a5f0b662f66c7 100644 (file)
@@ -1746,6 +1746,7 @@ void Preprocessor::ExpandBuiltinMacro(Token &Tok) {
           return llvm::StringSwitch<bool>(II->getName())
                       .Case("__make_integer_seq", LangOpts.CPlusPlus)
                       .Case("__type_pack_element", LangOpts.CPlusPlus)
+                      .Case("__builtin_available", true)
                       .Default(false);
         }
       });
index d18ac1f13445d55666691047c3f413faae212679..a170721240ce8987067549020047fa74124ffc2b 100644 (file)
@@ -20,3 +20,8 @@ void f() {
   (void)@available(macos); // expected-error{{expected a version}}
   (void)@available; // expected-error{{expected '('}}
 }
+
+#if __has_builtin(__builtin_available)
+#error expected
+// expected-error@-1 {{expected}}
+#endif