diff options
| author | Puyan Lotfi <puyan@puyan.org> | 2019-07-31 20:40:08 +0000 |
|---|---|---|
| committer | Puyan Lotfi <puyan@puyan.org> | 2019-07-31 20:40:08 +0000 |
| commit | 61b6b0eb1bbf711a78f7d55c7cc7f0682a9fade7 (patch) | |
| tree | ea86026bfb81652355ef6e00d9c65ccc49bffd5a /clang/lib | |
| parent | 641ea2e701d0bb8ca6b941e29b5b824037a3610c (diff) | |
| download | bcm5719-llvm-61b6b0eb1bbf711a78f7d55c7cc7f0682a9fade7.tar.gz bcm5719-llvm-61b6b0eb1bbf711a78f7d55c7cc7f0682a9fade7.zip | |
[NFC][clang] Refactor getCompilationPhases()+Types.def step 3.
Second landing attempt: Changed TY_ObjCXXHeader to TY_PP_ObjCXXHeader to fix
-xobjective-c++-header. This time I verified against
preprocessor output.
Dropping the 'u' entry and the entire Flags table from Types.def.
Now it'll be a bit easier to tablegenify this.
Differential Revision: https://reviews.llvm.org/D65308
llvm-svn: 367478
Diffstat (limited to 'clang/lib')
| -rw-r--r-- | clang/lib/Driver/Types.cpp | 15 |
1 files changed, 11 insertions, 4 deletions
diff --git a/clang/lib/Driver/Types.cpp b/clang/lib/Driver/Types.cpp index acfc19d0a52..8c3f23789c1 100644 --- a/clang/lib/Driver/Types.cpp +++ b/clang/lib/Driver/Types.cpp @@ -18,15 +18,14 @@ using namespace clang::driver::types; struct TypeInfo { const char *Name; - const char *Flags; const char *TempSuffix; ID PreprocessedType; const llvm::SmallVector<phases::ID, phases::MaxNumberOfPhases> Phases; }; static const TypeInfo TypeInfos[] = { -#define TYPE(NAME, ID, PP_TYPE, TEMP_SUFFIX, FLAGS, ...) \ - { NAME, FLAGS, TEMP_SUFFIX, TY_##PP_TYPE, { __VA_ARGS__ }, }, +#define TYPE(NAME, ID, PP_TYPE, TEMP_SUFFIX, ...) \ + { NAME, TEMP_SUFFIX, TY_##PP_TYPE, { __VA_ARGS__ }, }, #include "clang/Driver/Types.def" #undef TYPE }; @@ -90,7 +89,15 @@ bool types::onlyPrecompileType(ID Id) { } bool types::canTypeBeUserSpecified(ID Id) { - return strchr(getInfo(Id).Flags, 'u'); + static const clang::driver::types::ID kStaticLangageTypes[] = { + TY_CUDA_DEVICE, TY_HIP_DEVICE, TY_PP_CHeader, + TY_PP_ObjCHeader, TY_PP_CXXHeader, TY_PP_ObjCXXHeader, + TY_PP_CXXModule, TY_LTO_IR, TY_LTO_BC, + TY_Plist, TY_RewrittenObjC, TY_RewrittenLegacyObjC, + TY_Remap, TY_PCH, TY_Object, + TY_Image, TY_dSYM, TY_Dependencies, + TY_CUDA_FATBIN, TY_HIP_FATBIN}; + return !llvm::is_contained(kStaticLangageTypes, Id); } bool types::appendSuffixForType(ID Id) { |

