summaryrefslogtreecommitdiffstats
path: root/clang/lib/Driver
diff options
context:
space:
mode:
authorSam McCall <sam.mccall@gmail.com>2019-07-30 20:38:11 +0000
committerSam McCall <sam.mccall@gmail.com>2019-07-30 20:38:11 +0000
commit71d4544961a6243bcb8c21ac6e127f7f041a7f57 (patch)
treee24a9e83553ab6f7fc7171c8e347d29340dfdb80 /clang/lib/Driver
parent4bc625cae08a82b8a49f2d044c75a4fcf9788cb7 (diff)
downloadbcm5719-llvm-71d4544961a6243bcb8c21ac6e127f7f041a7f57.tar.gz
bcm5719-llvm-71d4544961a6243bcb8c21ac6e127f7f041a7f57.zip
Revert "[NFC][clang] Refactor getCompilationPhases()+Types.def step 3."
This reverts commit d2254dbf21a3243233b75294ef901086199df1b9. This (unintentionally?) changed behavior, disallowing e.g. -x objective-c++-header llvm-svn: 367353
Diffstat (limited to 'clang/lib/Driver')
-rw-r--r--clang/lib/Driver/Types.cpp15
1 files changed, 4 insertions, 11 deletions
diff --git a/clang/lib/Driver/Types.cpp b/clang/lib/Driver/Types.cpp
index ada1e9d6707..acfc19d0a52 100644
--- a/clang/lib/Driver/Types.cpp
+++ b/clang/lib/Driver/Types.cpp
@@ -18,14 +18,15 @@ 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, ...) \
- { NAME, TEMP_SUFFIX, TY_##PP_TYPE, { __VA_ARGS__ }, },
+#define TYPE(NAME, ID, PP_TYPE, TEMP_SUFFIX, FLAGS, ...) \
+ { NAME, FLAGS, TEMP_SUFFIX, TY_##PP_TYPE, { __VA_ARGS__ }, },
#include "clang/Driver/Types.def"
#undef TYPE
};
@@ -89,15 +90,7 @@ bool types::onlyPrecompileType(ID Id) {
}
bool types::canTypeBeUserSpecified(ID Id) {
- static const clang::driver::types::ID kStaticLangageTypes[] = {
- TY_CUDA_DEVICE, TY_HIP_DEVICE, TY_PP_CHeader,
- TY_PP_ObjCHeader, TY_PP_CXXHeader, TY_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);
+ return strchr(getInfo(Id).Flags, 'u');
}
bool types::appendSuffixForType(ID Id) {
OpenPOWER on IntegriCloud