[cfe-commits] r120437 - in /cfe/trunk: include/clang/Basic/Builtins.def include/clang/Basic/Builtins.h test/SemaObjC/builtin_objc_getClass.m
Fariborz Jahanian
fjahanian at apple.com
Tue Nov 30 10:25:34 PST 2010
Author: fjahanian
Date: Tue Nov 30 12:25:34 2010
New Revision: 120437
URL: http://llvm.org/viewvc/llvm-project?rev=120437&view=rev
Log:
Add objc_getClass as an objc builtin function
(// rdar://8592641). Also rename LANGUAGEID to
LanguageID.
Added:
cfe/trunk/test/SemaObjC/builtin_objc_getClass.m
Modified:
cfe/trunk/include/clang/Basic/Builtins.def
cfe/trunk/include/clang/Basic/Builtins.h
Modified: cfe/trunk/include/clang/Basic/Builtins.def
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/include/clang/Basic/Builtins.def?rev=120437&r1=120436&r2=120437&view=diff
==============================================================================
--- cfe/trunk/include/clang/Basic/Builtins.def (original)
+++ cfe/trunk/include/clang/Basic/Builtins.def Tue Nov 30 12:25:34 2010
@@ -569,6 +569,8 @@
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
Modified: cfe/trunk/include/clang/Basic/Builtins.h
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/include/clang/Basic/Builtins.h?rev=120437&r1=120436&r2=120437&view=diff
==============================================================================
--- cfe/trunk/include/clang/Basic/Builtins.h (original)
+++ cfe/trunk/include/clang/Basic/Builtins.h Tue Nov 30 12:25:34 2010
@@ -32,7 +32,7 @@
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 @@
struct Info {
const char *Name, *Type, *Attributes, *HeaderName;
- LANGUAGEID builtin_lang;
+ LanguageID builtin_lang;
bool Suppressed;
bool operator==(const Info &RHS) const {
Added: cfe/trunk/test/SemaObjC/builtin_objc_getClass.m
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/test/SemaObjC/builtin_objc_getClass.m?rev=120437&view=auto
==============================================================================
--- cfe/trunk/test/SemaObjC/builtin_objc_getClass.m (added)
+++ cfe/trunk/test/SemaObjC/builtin_objc_getClass.m Tue Nov 30 12:25:34 2010
@@ -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'}}
More information about the cfe-commits
mailing list