blob: f27b293d79d99ce6b9be22944c47c669b04c6bda [file] [log] [blame]
! This test verifies that both invocations produce a consistent order in the
! generated `.mod` file. Previous versions of Flang exhibited non-deterministic
! behavior due to iterating over a set ordered by heap pointers. This issue was
! particularly noticeable when using Flang as a library.
! RUN: rm -rf %t && mkdir -p %t
! RUN: %flang_fc1 \
! RUN: -fsyntax-only \
! RUN: -J%t \
! RUN: %S/Inputs/modfile73-a.f90 \
! RUN: %S/Inputs/modfile73-b.f90 \
! RUN: %S/Inputs/modfile73-c.f90
! RUN: %flang_fc1 -fsyntax-only -J%t %s
! RUN: cat %t/modfile73.mod | FileCheck %s
! RUN: rm -rf %t && mkdir -p %t
! RUN: %flang_fc1 \
! RUN: -fsyntax-only \
! RUN: -J%t \
! RUN: %S/Inputs/modfile73-a.f90 \
! RUN: %S/Inputs/modfile73-b.f90 \
! RUN: %S/Inputs/modfile73-c.f90 \
! RUN: %s
! RUN: cat %t/modfile73.mod | FileCheck %s
use modfile73ba
end
module modfile73
use modfile73bb
use modfile73c
CONTAINS
subroutine init_
end
subroutine delete_
end
subroutine assign_
end
function initialized_
end
function same_
end
function refcount_
end
function id_
end
function name_
end
subroutine tag_new_object
end
end
! CHECK: !need$ {{.*}} n modfile73bb
! CHECK-NEXT: !need$ {{.*}} n modfile73c