diff --git a/flang/lib/Frontend/FrontendActions.cpp b/flang/lib/Frontend/FrontendActions.cpp --- a/flang/lib/Frontend/FrontendActions.cpp +++ b/flang/lib/Frontend/FrontendActions.cpp @@ -94,6 +94,9 @@ return; } + // Report the diagnostics from parsing + ci.parsing().messages().Emit(llvm::errs(), ci.allCookedSources()); + auto &parseTree{*ci.parsing().parseTree()}; // Prepare semantics diff --git a/flang/test/Frontend/preprocessor-diag.f90 b/flang/test/Frontend/prescanner-diag.f90 rename from flang/test/Frontend/preprocessor-diag.f90 rename to flang/test/Frontend/prescanner-diag.f90 --- a/flang/test/Frontend/preprocessor-diag.f90 +++ b/flang/test/Frontend/prescanner-diag.f90 @@ -1,11 +1,13 @@ ! RUN: %f18 -E -I %S/Inputs/ %s 2>&1 | FileCheck %s ! RUN: %flang-new -E -I %S/Inputs/ %s 2>&1 | FileCheck %s +! RUN: %flang-new -fsyntax-only -I %S/Inputs/ %s 2>&1 | FileCheck %s ! RUN: %flang-new -fc1 -E -I %S/Inputs/ %s 2>&1 | FileCheck %s +! RUN: %flang-new -fc1 -fsyntax-only -I %S/Inputs/ %s 2>&1 | FileCheck %s ! Test that the driver correctly reports diagnostics from the prescanner. The contents of the include file are irrelevant here. -! CHECK: preprocessor-diag.f90:8:20: #include: extra stuff ignored after file name +! CHECK: prescanner-diag.f90:10:20: #include: extra stuff ignored after file name #include comment -! CHECK: preprocessor-diag.f90:10:20: #include: extra stuff ignored after file name +! CHECK: prescanner-diag.f90:12:20: #include: extra stuff ignored after file name #include "empty.h" comment end