Index: flang/lib/Frontend/FrontendActions.cpp =================================================================== --- flang/lib/Frontend/FrontendActions.cpp +++ flang/lib/Frontend/FrontendActions.cpp @@ -18,6 +18,7 @@ #include "flang/Optimizer/Support/InitFIR.h" #include "flang/Optimizer/Support/KindMapping.h" #include "flang/Optimizer/Support/Utils.h" +#include "flang/Optimizer/Transforms/Passes.h" #include "flang/Parser/dump-parse-tree.h" #include "flang/Parser/parsing.h" #include "flang/Parser/provenance.h" @@ -90,6 +91,7 @@ // Run the default passes. mlir::PassManager pm(mlirCtx.get(), mlir::OpPassManager::Nesting::Implicit); + pm.addPass(fir::createExternalNameConversionPass()); pm.enableVerifier(/*verifyPasses=*/true); pm.addPass(std::make_unique()); Index: flang/test/Lower/Intrinsics/abs.f90 =================================================================== --- flang/test/Lower/Intrinsics/abs.f90 +++ flang/test/Lower/Intrinsics/abs.f90 @@ -3,7 +3,7 @@ ! Test abs intrinsic for various types (int, float, complex) -! CHECK-LABEL: func @_QPabs_testi +! CHECK-LABEL: func @{{.*}}abs_testi{{.*}}( ! CHECK-SAME: %[[VAL_0:.*]]: !fir.ref{{.*}}, %[[VAL_1:.*]]: !fir.ref subroutine abs_testi(a, b) ! CHECK: %[[VAL_2:.*]] = fir.load %[[VAL_0]] : !fir.ref @@ -17,7 +17,7 @@ b = abs(a) end subroutine -! CHECK-LABEL: func @_QPabs_testi16 +! CHECK-LABEL: func @{{.*}}abs_testi16{{.*}}( ! CHECK-SAME: %[[VAL_0:.*]]: !fir.ref{{.*}}, %[[VAL_1:.*]]: !fir.ref subroutine abs_testi16(a, b) ! CHECK: %[[VAL_2:.*]] = fir.load %[[VAL_0]] : !fir.ref @@ -31,7 +31,7 @@ b = abs(a) end subroutine -! CHECK-LABEL: func @_QPabs_testh( +! CHECK-LABEL: func @{{.*}}abs_testh{{.*}}( ! CHECK-SAME: %[[VAL_0:.*]]: !fir.ref{{.*}}, %[[VAL_1:.*]]: !fir.ref{{.*}}) { subroutine abs_testh(a, b) ! CHECK: %[[VAL_2:.*]] = fir.load %[[VAL_0]] : !fir.ref @@ -44,7 +44,7 @@ b = abs(a) end subroutine -! CHECK-LABEL: func @_QPabs_testb( +! CHECK-LABEL: func @{{.*}}abs_testb{{.*}}( ! CHECK-SAME: %[[VAL_0:.*]]: !fir.ref{{.*}}, %[[VAL_1:.*]]: !fir.ref{{.*}}) { subroutine abs_testb(a, b) ! CHECK: %[[VAL_2:.*]] = fir.load %[[VAL_0]] : !fir.ref @@ -57,7 +57,7 @@ b = abs(a) end subroutine -! CHECK-LABEL: func @_QPabs_testr( +! CHECK-LABEL: func @{{.*}}abs_testr{{.*}}( ! CHECK-SAME: %[[VAL_0:.*]]: !fir.ref{{.*}}, %[[VAL_1:.*]]: !fir.ref{{.*}}) { subroutine abs_testr(a, b) ! CHECK: %[[VAL_2:.*]] = fir.load %[[VAL_0]] : !fir.ref @@ -68,7 +68,7 @@ b = abs(a) end subroutine -! CHECK-LABEL: func @_QPabs_testd( +! CHECK-LABEL: func @{{.*}}abs_testd{{.*}}( ! CHECK-SAME: %[[VAL_0:.*]]: !fir.ref{{.*}}, %[[VAL_1:.*]]: !fir.ref{{.*}}) { subroutine abs_testd(a, b) ! CHECK: %[[VAL_2:.*]] = fir.load %[[VAL_0]] : !fir.ref @@ -79,7 +79,7 @@ b = abs(a) end subroutine -! CHECK-LABEL: func @_QPabs_testzr( +! CHECK-LABEL: func @{{.*}}abs_testzr{{.*}}( ! CHECK-SAME: %[[VAL_0:.*]]: !fir.ref>{{.*}}, %[[VAL_1:.*]]: !fir.ref{{.*}}) { subroutine abs_testzr(a, b) ! CHECK: %[[VAL_2:.*]] = fir.load %[[VAL_0]] : !fir.ref> @@ -93,7 +93,7 @@ b = abs(a) end subroutine abs_testzr -! CHECK-LABEL: func @_QPabs_testzd( +! CHECK-LABEL: func @{{.*}}abs_testzd{{.*}}( ! CHECK-SAME: %[[VAL_0:.*]]: !fir.ref>{{.*}}, %[[VAL_1:.*]]: !fir.ref{{.*}}) { subroutine abs_testzd(a, b) ! CHECK: %[[VAL_2:.*]] = fir.load %[[VAL_0]] : !fir.ref>