Skip to content

Commit e4fb881

Browse files
authored
Merge pull request #84622 from gottesmm/pr-7065a633780e3a54b56563650e321ec0801bcb45
[sil-llvm-gen] Run Sema before we attempt to emit IR.
2 parents 4f25495 + 3a96e99 commit e4fb881

File tree

1 file changed

+9
-0
lines changed

1 file changed

+9
-0
lines changed

lib/DriverTool/sil_llvm_gen_main.cpp

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -469,6 +469,15 @@ int sil_llvm_gen_main(ArrayRef<const char *> argv, void *MainAddr) {
469469
desc.out = &outFile->getOS();
470470

471471
if (options.OutputKind == IRGenOutputKind::LLVMAssemblyBeforeOptimization) {
472+
// We need to perform Sema here since IRGenRequest itself does not perform
473+
// Sema (unlike OptimizedIRRequest).
474+
CI.performSema();
475+
476+
// If Sema produced an error, exit early.
477+
bool HadError = CI.getASTContext().hadError();
478+
if (HadError)
479+
exit(-1);
480+
472481
auto generatedMod = evaluateOrFatal(eval, IRGenRequest{desc});
473482
if (!generatedMod)
474483
return 1;

0 commit comments

Comments
 (0)