-
Notifications
You must be signed in to change notification settings - Fork 14.9k
Closed
Labels
flangFlang issues not falling into any other categoryFlang issues not falling into any other category
Description
Version of flang : 21.0.0(9fe6f6a0d430b872750354c20f3e4a651bd1f135)/AArch64
When array-constructor (an array name enclosed in square brackets)
is used in where construct
, execution does not terminate after more than 20 minutes.
Gfortran and ifx execute in less than a second.
The above program is sngtar12_2.f90
According to the Fortran standard 2023: 7.8 Construction of array values
, it seems correct to use array names enclosed in square brackets
.
Execution terminates in the following cases:
- Do not use where construct
The above program is sngtar12_21.f90 - Do not use square brackets
The above program is sngtar12_23.f90
The following are the test program, Flang, Gfortran and ifx compilation/execution result.
sngtar12_2.f90:
program main
integer a(6000*400), b(6000*400)
a=1
where(a>0)
b=[a]
b=[a**1]
end where
if(b(6000*400)/=1) print *,'err1'
print *,'pass'
end program
$ flang sngtar12_2.f90; time ./a.out -> Killed because execution does not terminate after more than 20 minutes
C-c C-c
real 24m34.953s
user 24m9.212s
sys 0m25.710s
$
$ gfortran sngtar12_2.f90; time ./a.out
pass
real 0m0.056s
user 0m0.033s
sys 0m0.023s
$
$ ifx sngtar12_2.f90; time ./a.out
pass
real 0m0.255s
user 0m0.002s
sys 0m0.005s
$
sngtar12_21.f90:
program main
integer a(6000*400), b(6000*400)
a=1
! where(a>0)
b=[a]
b=[a**1]
! end where
if(b(6000*400)/=1) print *,'err1'
print *,'pass'
end program
$ flang sngtar12_21.f90; time ./a.out
pass
real 0m0.146s
user 0m0.128s
sys 0m0.011s
$
sngtar12_23.f90:
program main
integer a(6000*400), b(6000*400)
a=1
where(a>0)
b=a
b=a**1
end where
if(b(6000*400)/=1) print *,'err1'
print *,'pass'
end program
$ flang sngtar12_23.f90; time ./a.out
pass
real 0m0.240s
user 0m0.185s
sys 0m0.001s
$
Metadata
Metadata
Assignees
Labels
flangFlang issues not falling into any other categoryFlang issues not falling into any other category
Type
Projects
Status
Done