diff --git a/lib/Frontend/CompilerInvocation.cpp b/lib/Frontend/CompilerInvocation.cpp index 388ca372569c1..e849adf55ec11 100644 --- a/lib/Frontend/CompilerInvocation.cpp +++ b/lib/Frontend/CompilerInvocation.cpp @@ -3652,6 +3652,8 @@ bool CompilerInvocation::parseArgs( return true; } + ParseAssertionArgs(ParsedArgs); + if (ParseFrontendArgs(FrontendOpts, ParsedArgs, Diags, ConfigurationFileBuffers)) { return true; @@ -3668,8 +3670,6 @@ bool CompilerInvocation::parseArgs( return true; } - ParseAssertionArgs(ParsedArgs); - if (ParseLangArgs(LangOpts, ParsedArgs, Diags, FrontendOpts)) { return true; } diff --git a/lib/SIL/Verifier/SILVerifier.cpp b/lib/SIL/Verifier/SILVerifier.cpp index f6d98876ea88b..6569305317a8a 100644 --- a/lib/SIL/Verifier/SILVerifier.cpp +++ b/lib/SIL/Verifier/SILVerifier.cpp @@ -7330,6 +7330,10 @@ static bool verificationEnabled(const SILModule &M) { if (M.getOptions().VerifyAll) return true; + // If we have asserts enabled, always verify... + if (CONDITIONAL_ASSERT_enabled()) + return true; + #ifndef NDEBUG // Otherwise if we do have asserts enabled, always verify... return true;