summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDaniel Dunbar <daniel@zuster.org>2009-11-17 08:07:16 +0000
committerDaniel Dunbar <daniel@zuster.org>2009-11-17 08:07:16 +0000
commitf408303a3f39ab746d31b0ae83f1deda907400f9 (patch)
treee524d657e91fe7e6f8ba3f28e65c91008e0eac28
parent4668c7ed1c47d1e85b86ee8a720795030f7cfa2e (diff)
downloadbcm5719-llvm-f408303a3f39ab746d31b0ae83f1deda907400f9.tar.gz
bcm5719-llvm-f408303a3f39ab746d31b0ae83f1deda907400f9.zip
Add driver::types::isObjC predicate.
llvm-svn: 89064
-rw-r--r--clang/include/clang/Driver/Types.h3
-rw-r--r--clang/lib/Driver/Types.cpp13
2 files changed, 16 insertions, 0 deletions
diff --git a/clang/include/clang/Driver/Types.h b/clang/include/clang/Driver/Types.h
index 92520a77b33..3a343b385e7 100644
--- a/clang/include/clang/Driver/Types.h
+++ b/clang/include/clang/Driver/Types.h
@@ -62,6 +62,9 @@ namespace types {
/// isCXX - Is this a "C++" input (C++ and Obj-C++ sources and headers).
bool isCXX(ID Id);
+ /// isObjC - Is this an "ObjC" input (Obj-C and Obj-C++ sources and headers).
+ bool isObjC(ID Id);
+
/// lookupTypeForExtension - Lookup the type to use for the file
/// extension \arg Ext.
ID lookupTypeForExtension(const char *Ext);
diff --git a/clang/lib/Driver/Types.cpp b/clang/lib/Driver/Types.cpp
index c616c6a5bf4..30893e7cc0c 100644
--- a/clang/lib/Driver/Types.cpp
+++ b/clang/lib/Driver/Types.cpp
@@ -89,6 +89,19 @@ bool types::isAcceptedByClang(ID Id) {
}
}
+bool types::isObjC(ID Id) {
+ switch (Id) {
+ default:
+ return false;
+
+ case TY_ObjC: case TY_PP_ObjC:
+ case TY_ObjCXX: case TY_PP_ObjCXX:
+ case TY_ObjCHeader: case TY_PP_ObjCHeader:
+ case TY_ObjCXXHeader: case TY_PP_ObjCXXHeader:
+ return true;
+ }
+}
+
bool types::isCXX(ID Id) {
switch (Id) {
default:
OpenPOWER on IntegriCloud