!RUN: %flang_fc1 -cpp -DFILE1 -DFILE2 %s | FileCheck %s --allow-empty !RUN: %flang_fc1 -cpp -DFILE1 %s | FileCheck %s --allow-empty && %flang_fc1 -cpp -DFILE2 %s | FileCheck %s --allow-empty !CHECK-NOT: error !CHECK-NOT: warning #ifdef FILE1 module function_with_max_result_extent_module implicit none public :: function_with_max_result_extent interface function_with_max_result_extent pure module function function_with_max_result_extent(n) result(res) integer, intent(in) :: n integer :: res(max(n, 0)) end function function_with_max_result_extent end interface function_with_max_result_extent end module function_with_max_result_extent_module #endif #ifdef FILE2 submodule (function_with_max_result_extent_module) function_with_max_result_extent_submodule implicit none contains pure module function function_with_max_result_extent(n) result(res) integer, intent(in) :: n integer :: res(max(n, 0)) res(:) = 0 end function function_with_max_result_extent end submodule function_with_max_result_extent_submodule #endif