[flang-commits] [flang] fc61400 - [flang] Fix llvm::Optional warning caused by D140220

Jean Perier via flang-commits flang-commits at lists.llvm.org
Mon Dec 19 02:44:06 PST 2022


Author: Jean Perier
Date: 2022-12-19T11:43:36+01:00
New Revision: fc61400cb81200198cf5b1d53cff2d29f5909800

URL: https://github.com/llvm/llvm-project/commit/fc61400cb81200198cf5b1d53cff2d29f5909800
DIFF: https://github.com/llvm/llvm-project/commit/fc61400cb81200198cf5b1d53cff2d29f5909800.diff

LOG: [flang] Fix llvm::Optional warning caused by D140220

Using llvm::Optional::value() was just deprecated in LLVM.
Remove the usage that was added by D140220 and replace it by an assert.

https://lab.llvm.org/buildbot/#/builders/160/builds/14222

Added: 
    

Modified: 
    flang/lib/Lower/Bridge.cpp

Removed: 
    


################################################################################
diff  --git a/flang/lib/Lower/Bridge.cpp b/flang/lib/Lower/Bridge.cpp
index 1d9755e22785..5ad12cc86b98 100644
--- a/flang/lib/Lower/Bridge.cpp
+++ b/flang/lib/Lower/Bridge.cpp
@@ -449,11 +449,13 @@ class FirConverter : public Fortran::lower::AbstractConverter {
 
   void copySymbolBinding(Fortran::lower::SymbolRef src,
                          Fortran::lower::SymbolRef target) override final {
-    if (bridge.getLoweringOptions().getLowerToHighLevelFIR())
-      localSymbols.addVariableDefinition(
-          target, localSymbols.lookupVariableDefinition(src).value());
-    else
+    if (bridge.getLoweringOptions().getLowerToHighLevelFIR()) {
+      auto srcDef = localSymbols.lookupVariableDefinition(src);
+      assert(srcDef && "source binding does not exists");
+      localSymbols.addVariableDefinition(target, *srcDef);
+    } else {
       localSymbols.addSymbol(target, lookupSymbol(src).toExtendedValue());
+    }
   }
 
   /// Add the symbol binding to the inner-most level of the symbol map and


        


More information about the flang-commits mailing list