Before emitting a warning message, code should check that the usage in question should be diagnosed by calling ShouldWarn(). A fair number of sites in the code do not, and can emit portability warnings unconditionally, which can confuse a user that hasn't asked for them (-pedantic) and isn't terribly concerned about portability *to* other compilers. Add calls to ShouldWarn() or IsEnabled() around messages that need them, and add -pedantic to tests that now require it to test their portability messages, and add more expected message lines to those tests when -pedantic causes other diagnostics to fire.
10 lines
476 B
Fortran
10 lines
476 B
Fortran
! RUN: %flang_fc1 -fdebug-dump-symbols -pedantic %s 2>&1 | FileCheck %s
|
|
! CHECK: Implied DO index 'j' uses an object of the same name in its bounds expressions
|
|
! CHECK: ObjectEntity type: REAL(4) shape: 1_8:5_8 init:[REAL(4)::1._4,2._4,3._4,4._4,5._4]
|
|
! Verify that the scope of a DATA statement implied DO loop index does
|
|
! not include the bounds expressions (language extension, with warning)
|
|
integer, parameter :: j = 5
|
|
real, save :: a(j)
|
|
data (a(j),j=1,j)/1,2,3,4,5/
|
|
end
|