diff options
author | Dimitry Andric <dim@FreeBSD.org> | 2023-02-11 12:38:04 +0000 |
---|---|---|
committer | Dimitry Andric <dim@FreeBSD.org> | 2023-02-11 12:38:11 +0000 |
commit | e3b557809604d036af6e00c60f012c2025b59a5e (patch) | |
tree | 8a11ba2269a3b669601e2fd41145b174008f4da8 /clang/lib/Driver/Types.cpp | |
parent | 08e8dd7b9db7bb4a9de26d44c1cbfd24e869c014 (diff) |
Diffstat (limited to 'clang/lib/Driver/Types.cpp')
-rw-r--r-- | clang/lib/Driver/Types.cpp | 129 |
1 files changed, 66 insertions, 63 deletions
diff --git a/clang/lib/Driver/Types.cpp b/clang/lib/Driver/Types.cpp index 66da6fe97059..a890cc58ee42 100644 --- a/clang/lib/Driver/Types.cpp +++ b/clang/lib/Driver/Types.cpp @@ -42,7 +42,7 @@ static constexpr TypeInfo TypeInfos[] = { #include "clang/Driver/Types.def" #undef TYPE }; -static const unsigned numTypes = llvm::array_lengthof(TypeInfos); +static const unsigned numTypes = std::size(TypeInfos); static const TypeInfo &getInfo(unsigned id) { assert(id > 0 && id - 1 < numTypes && "Invalid Type ID."); @@ -286,74 +286,77 @@ bool types::isHIP(ID Id) { } } +bool types::isHLSL(ID Id) { return Id == TY_HLSL; } + bool types::isSrcFile(ID Id) { return Id != TY_Object && getPreprocessedType(Id) != TY_INVALID; } types::ID types::lookupTypeForExtension(llvm::StringRef Ext) { return llvm::StringSwitch<types::ID>(Ext) - .Case("c", TY_C) - .Case("C", TY_CXX) - .Case("F", TY_Fortran) - .Case("f", TY_PP_Fortran) - .Case("h", TY_CHeader) - .Case("H", TY_CXXHeader) - .Case("i", TY_PP_C) - .Case("m", TY_ObjC) - .Case("M", TY_ObjCXX) - .Case("o", TY_Object) - .Case("S", TY_Asm) - .Case("s", TY_PP_Asm) - .Case("bc", TY_LLVM_BC) - .Case("cc", TY_CXX) - .Case("CC", TY_CXX) - .Case("cl", TY_CL) - .Case("clcpp", TY_CLCXX) - .Case("cp", TY_CXX) - .Case("cu", TY_CUDA) - .Case("hh", TY_CXXHeader) - .Case("ii", TY_PP_CXX) - .Case("ll", TY_LLVM_IR) - .Case("mi", TY_PP_ObjC) - .Case("mm", TY_ObjCXX) - .Case("rs", TY_RenderScript) - .Case("adb", TY_Ada) - .Case("ads", TY_Ada) - .Case("asm", TY_PP_Asm) - .Case("ast", TY_AST) - .Case("ccm", TY_CXXModule) - .Case("cpp", TY_CXX) - .Case("CPP", TY_CXX) - .Case("c++", TY_CXX) - .Case("C++", TY_CXX) - .Case("cui", TY_PP_CUDA) - .Case("cxx", TY_CXX) - .Case("CXX", TY_CXX) - .Case("F90", TY_Fortran) - .Case("f90", TY_PP_Fortran) - .Case("F95", TY_Fortran) - .Case("f95", TY_PP_Fortran) - .Case("for", TY_PP_Fortran) - .Case("FOR", TY_PP_Fortran) - .Case("fpp", TY_Fortran) - .Case("FPP", TY_Fortran) - .Case("gch", TY_PCH) - .Case("hip", TY_HIP) - .Case("hpp", TY_CXXHeader) - .Case("hxx", TY_CXXHeader) - .Case("iim", TY_PP_CXXModule) - .Case("iih", TY_PP_CXXHeaderUnit) - .Case("lib", TY_Object) - .Case("mii", TY_PP_ObjCXX) - .Case("obj", TY_Object) - .Case("ifs", TY_IFS) - .Case("pch", TY_PCH) - .Case("pcm", TY_ModuleFile) - .Case("c++m", TY_CXXModule) - .Case("cppm", TY_CXXModule) - .Case("cxxm", TY_CXXModule) - .Case("hlsl", TY_HLSL) - .Default(TY_INVALID); + .Case("c", TY_C) + .Case("C", TY_CXX) + .Case("F", TY_Fortran) + .Case("f", TY_PP_Fortran) + .Case("h", TY_CHeader) + .Case("H", TY_CXXHeader) + .Case("i", TY_PP_C) + .Case("m", TY_ObjC) + .Case("M", TY_ObjCXX) + .Case("o", TY_Object) + .Case("S", TY_Asm) + .Case("s", TY_PP_Asm) + .Case("bc", TY_LLVM_BC) + .Case("cc", TY_CXX) + .Case("CC", TY_CXX) + .Case("cl", TY_CL) + .Case("clcpp", TY_CLCXX) + .Case("cp", TY_CXX) + .Case("cu", TY_CUDA) + .Case("hh", TY_CXXHeader) + .Case("ii", TY_PP_CXX) + .Case("ll", TY_LLVM_IR) + .Case("mi", TY_PP_ObjC) + .Case("mm", TY_ObjCXX) + .Case("rs", TY_RenderScript) + .Case("adb", TY_Ada) + .Case("ads", TY_Ada) + .Case("asm", TY_PP_Asm) + .Case("ast", TY_AST) + .Case("ccm", TY_CXXModule) + .Case("cpp", TY_CXX) + .Case("CPP", TY_CXX) + .Case("c++", TY_CXX) + .Case("C++", TY_CXX) + .Case("cui", TY_PP_CUDA) + .Case("cxx", TY_CXX) + .Case("CXX", TY_CXX) + .Case("F90", TY_Fortran) + .Case("f90", TY_PP_Fortran) + .Case("F95", TY_Fortran) + .Case("f95", TY_PP_Fortran) + .Case("for", TY_PP_Fortran) + .Case("FOR", TY_PP_Fortran) + .Case("fpp", TY_Fortran) + .Case("FPP", TY_Fortran) + .Case("gch", TY_PCH) + .Case("hip", TY_HIP) + .Case("hipi", TY_PP_HIP) + .Case("hpp", TY_CXXHeader) + .Case("hxx", TY_CXXHeader) + .Case("iim", TY_PP_CXXModule) + .Case("iih", TY_PP_CXXHeaderUnit) + .Case("lib", TY_Object) + .Case("mii", TY_PP_ObjCXX) + .Case("obj", TY_Object) + .Case("ifs", TY_IFS) + .Case("pch", TY_PCH) + .Case("pcm", TY_ModuleFile) + .Case("c++m", TY_CXXModule) + .Case("cppm", TY_CXXModule) + .Case("cxxm", TY_CXXModule) + .Case("hlsl", TY_HLSL) + .Default(TY_INVALID); } types::ID types::lookupTypeForTypeSpecifier(const char *Name) { |