https://gcc.gnu.org/bugzilla/show_bug.cgi?id=97571
Bug ID: 97571 Summary: long parsing phase for simple array constructor Product: gcc Version: 11.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: fortran Assignee: unassigned at gcc dot gnu.org Reporter: rimvydas.jas at gmail dot com Target Milestone: --- gcc version 11.0.0 20201025 (experimental) [master revision d7ddd287c:9f8172cd7:47d13acbda9a5d8eb57ff169ba74857cd54108e4] (GCC) x86_64-unknown-linux $ cat init.f90 subroutine bpr_init implicit none integer :: i real :: tacos2( 0:35250) tacos2 = acos( (/ (i, i=64000,99250) /) / 100000.0) end subroutine bpr_init $ gfortran -O1 -Wall -Wextra -c init.f90 -ftime-report init.f90:4:24: 4 | real :: tacos2( 0:35250) | 1 Warning: Array 'tacos2' at (1) is larger than limit set by '-fmax-stack-var-size=', moved from stack to static storage. This makes the procedure unsafe when called recursively, or concurrently from multiple threads. Consider using '-frecursive', or increase the '-fmax-stack-var-size=' limit, or change the code to use an ALLOCATABLE array. [-Wsurprising] Time variable usr sys wall GGC phase parsing :1923.03 (100%) 0.21 (100%)1923.67 (100%) 7500k ( 97%) phase opt and generate : 0.01 ( 0%) 0.00 ( 0%) 0.02 ( 0%) 69k ( 1%) callgraph functions expansion : 0.01 ( 0%) 0.00 ( 0%) 0.01 ( 0%) 48k ( 1%) parser (global) :1923.02 (100%) 0.21 (100%)1923.67 (100%) 7500k ( 97%) tree gimplify : 0.00 ( 0%) 0.00 ( 0%) 0.01 ( 0%) 1752 ( 0%) tree STMT verifier : 0.00 ( 0%) 0.00 ( 0%) 0.01 ( 0%) 0 ( 0%) varconst : 0.01 ( 0%) 0.00 ( 0%) 0.00 ( 0%) 0 ( 0%) initialize rtl : 0.01 ( 0%) 0.00 ( 0%) 0.00 ( 0%) 12k ( 0%) TOTAL :1923.04 0.21 1923.69 7756k Extra diagnostic checks enabled; compiler may run slowly. Configure with --enable-checking=release to disable checks. Configuring with checking=release or different -O levels have no impact on time taken, previous gfortran 10.2 did not exhibit such long parsing times.