[flang] Pass SemanticsContext to the LoweringBridge
The SemanticsContext is needed to analyze expression later in the
lowering for directive languages. This patch allows to keep a reference of
the SemanticsContext in the LoweringBridge.
Building block for D131765
Reviewed By: razvanlupusoru
Differential Revision: https://reviews.llvm.org/D131764
diff --git a/flang/lib/Lower/Bridge.cpp b/flang/lib/Lower/Bridge.cpp
index f094e0b..22938b3 100644
--- a/flang/lib/Lower/Bridge.cpp
+++ b/flang/lib/Lower/Bridge.cpp
@@ -3248,15 +3248,17 @@
Fortran::lower::LoweringBridge::LoweringBridge(
mlir::MLIRContext &context,
+ Fortran::semantics::SemanticsContext &semanticsContext,
const Fortran::common::IntrinsicTypeDefaultKinds &defaultKinds,
const Fortran::evaluate::IntrinsicProcTable &intrinsics,
const Fortran::evaluate::TargetCharacteristics &targetCharacteristics,
const Fortran::parser::AllCookedSources &cooked, llvm::StringRef triple,
fir::KindMapping &kindMap,
const Fortran::lower::LoweringOptions &loweringOptions)
- : defaultKinds{defaultKinds}, intrinsics{intrinsics},
- targetCharacteristics{targetCharacteristics}, cooked{&cooked},
- context{context}, kindMap{kindMap}, loweringOptions{loweringOptions} {
+ : semanticsContext{semanticsContext}, defaultKinds{defaultKinds},
+ intrinsics{intrinsics}, targetCharacteristics{targetCharacteristics},
+ cooked{&cooked}, context{context}, kindMap{kindMap},
+ loweringOptions{loweringOptions} {
// Register the diagnostic handler.
context.getDiagEngine().registerHandler([](mlir::Diagnostic &diag) {
llvm::raw_ostream &os = llvm::errs();