forked from OSchip/llvm-project
Add objc_getClass as an objc builtin function
(// rdar://8592641). Also rename LANGUAGEID to LanguageID. llvm-svn: 120437
This commit is contained in:
parent
6187e66801
commit
1fdbaa84aa
|
@ -569,6 +569,8 @@ LIBBUILTIN(_longjmp, "vJi", "fr", "setjmp.h", ALL_LANGUAGES)
|
|||
LIBBUILTIN(siglongjmp, "vSJi", "fr", "setjmp.h", ALL_LANGUAGES)
|
||||
// id objc_msgSend(id, SEL, ...)
|
||||
LIBBUILTIN(objc_msgSend, "GGH.", "f", "objc/message.h", OBJC_LANG)
|
||||
// id objc_getClass(const char *name)
|
||||
LIBBUILTIN(objc_getClass, "GcC*", "f", "objc/runtime.h", OBJC_LANG)
|
||||
BUILTIN(__builtin_objc_memmove_collectable, "v*v*vC*z", "nF")
|
||||
|
||||
// Builtin math library functions
|
||||
|
|
|
@ -32,7 +32,7 @@ namespace clang {
|
|||
class QualType;
|
||||
class LangOptions;
|
||||
|
||||
enum LANGUAGEID {
|
||||
enum LanguageID {
|
||||
C_LANG = 0x1, // builtin for c only.
|
||||
CXX_LANG = 0x2, // builtin for cplusplus only.
|
||||
OBJC_LANG = 0x4, // builtin for objective-c and objective-c++
|
||||
|
@ -49,7 +49,7 @@ enum ID {
|
|||
|
||||
struct Info {
|
||||
const char *Name, *Type, *Attributes, *HeaderName;
|
||||
LANGUAGEID builtin_lang;
|
||||
LanguageID builtin_lang;
|
||||
bool Suppressed;
|
||||
|
||||
bool operator==(const Info &RHS) const {
|
||||
|
|
|
@ -0,0 +1,4 @@
|
|||
// RUN: %clang_cc1 %s -fsyntax-only -std=gnu99 -verify
|
||||
// rdar://8592641
|
||||
Class f0() { return objc_getClass("a"); } // expected-warning {{implicitly declaring C library function 'objc_getClass' with type 'id (const char *)'}} \
|
||||
// expected-note {{please include the header <objc/runtime.h> or explicitly provide a declaration for 'objc_getClass'}}
|
Loading…
Reference in New Issue