Merge remote-tracking branch 'origin/master' into master-next

This commit is contained in:
swift-ci
2018-06-27 21:29:27 -07:00
5 changed files with 27 additions and 3 deletions

View File

@@ -1167,9 +1167,20 @@ static bool validateTBDIfNeeded(CompilerInvocation &Invocation,
return false;
const auto &frontendOpts = Invocation.getFrontendOptions();
const auto mode = frontendOpts.ValidateTBDAgainstIR;
auto mode = frontendOpts.ValidateTBDAgainstIR;
// Ensure all cases are covered by using a switch here.
switch (mode) {
case FrontendOptions::TBDValidationMode::Default:
#ifndef NDEBUG
// When a debug compiler is targeting an apple platform, we do some
// validation by default.
if (Invocation.getLangOptions().Target.getVendor() == llvm::Triple::Apple) {
mode = FrontendOptions::TBDValidationMode::MissingFromTBD;
break;
}
#endif
// Otherwise, the default is to do nothing.
LLVM_FALLTHROUGH;
case FrontendOptions::TBDValidationMode::None:
return false;
case FrontendOptions::TBDValidationMode::All: