diff options
Diffstat (limited to 'flang/lib/Lower/Bridge.cpp')
-rw-r--r-- | flang/lib/Lower/Bridge.cpp | 7 |
1 files changed, 2 insertions, 5 deletions
diff --git a/flang/lib/Lower/Bridge.cpp b/flang/lib/Lower/Bridge.cpp index 68adf34..0595ca0 100644 --- a/flang/lib/Lower/Bridge.cpp +++ b/flang/lib/Lower/Bridge.cpp @@ -4987,11 +4987,8 @@ private: // host = device if (!lhsIsDevice && rhsIsDevice) { - if (Fortran::lower::isTransferWithConversion(rhs)) { + if (auto elementalOp = Fortran::lower::isTransferWithConversion(rhs)) { mlir::OpBuilder::InsertionGuard insertionGuard(builder); - auto elementalOp = - mlir::dyn_cast<hlfir::ElementalOp>(rhs.getDefiningOp()); - assert(elementalOp && "expect elemental op"); auto designateOp = *elementalOp.getBody()->getOps<hlfir::DesignateOp>().begin(); builder.setInsertionPoint(elementalOp); @@ -6079,7 +6076,7 @@ private: if (resTy != wrappedSymTy) { // check size of the pointed to type so we can't overflow by writing // double precision to a single precision allocation, etc - LLVM_ATTRIBUTE_UNUSED auto getBitWidth = [this](mlir::Type ty) { + [[maybe_unused]] auto getBitWidth = [this](mlir::Type ty) { // 15.6.2.6.3: differering result types should be integer, real, // complex or logical if (auto cmplx = mlir::dyn_cast_or_null<mlir::ComplexType>(ty)) |