summaryrefslogtreecommitdiffstats
path: root/clang/lib
diff options
context:
space:
mode:
authorDaniel Dunbar <daniel@zuster.org>2009-03-13 23:46:19 +0000
committerDaniel Dunbar <daniel@zuster.org>2009-03-13 23:46:19 +0000
commit1bb3b2ccf3ea6d8e2e8fd634824ff840991173f3 (patch)
tree07158dbb1b7e3ab1169637c77aa4a4ec3bfee98b /clang/lib
parent313c29126908bc9154f23e371b43ceea2924d653 (diff)
downloadbcm5719-llvm-1bb3b2ccf3ea6d8e2e8fd634824ff840991173f3.tar.gz
bcm5719-llvm-1bb3b2ccf3ea6d8e2e8fd634824ff840991173f3.zip
Driver: Add types::{isAcceptedByClang,isCXX} predicates.
llvm-svn: 66986
Diffstat (limited to 'clang/lib')
-rw-r--r--clang/lib/Driver/Types.cpp31
1 files changed, 31 insertions, 0 deletions
diff --git a/clang/lib/Driver/Types.cpp b/clang/lib/Driver/Types.cpp
index cef5c811b7b..e89e973f3f5 100644
--- a/clang/lib/Driver/Types.cpp
+++ b/clang/lib/Driver/Types.cpp
@@ -69,6 +69,37 @@ bool types::canLipoType(ID Id) {
Id == TY_Object);
}
+bool types::isAcceptedByClang(ID Id) {
+ switch (Id) {
+ default:
+ return false;
+
+ case TY_Asm:
+ case TY_C: case TY_PP_C:
+ case TY_ObjC: case TY_PP_ObjC:
+ case TY_CXX: case TY_PP_CXX:
+ case TY_ObjCXX: case TY_PP_ObjCXX:
+ case TY_CHeader: case TY_PP_CHeader:
+ case TY_ObjCHeader: case TY_PP_ObjCHeader:
+ case TY_CXXHeader: case TY_PP_CXXHeader:
+ case TY_ObjCXXHeader: case TY_PP_ObjCXXHeader:
+ return true;
+ }
+}
+
+bool types::isCXX(ID Id) {
+ switch (Id) {
+ default:
+ return false;
+
+ case TY_CXX: case TY_PP_CXX:
+ case TY_ObjCXX: case TY_PP_ObjCXX:
+ case TY_CXXHeader: case TY_PP_CXXHeader:
+ case TY_ObjCXXHeader: case TY_PP_ObjCXXHeader:
+ return true;
+ }
+}
+
types::ID types::lookupTypeForExtension(const char *Ext) {
unsigned N = strlen(Ext);
OpenPOWER on IntegriCloud