| !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 |