Between GCC 9 and 10, the following code now errors out:

integer function fcn(x)
  implicit none
  integer, intent(in) :: x
  fcn = x * '0100'X
end function fcn

Error: BOZ constant at (1) uses nonstandard postfix syntax [see
'-fno-allow-invalid-boz']
Compiler returned: 1

First, the error message is wrong regarding the option to go see:

gfortran: error: unrecognized command-line option
'-fno-allow-invalid-boz'; did you mean '-fallow-invalid-boz'?

Second, that option doesn't protect against the aforementioned case.

Third, and the main point of this email I guess, is that the
porting-to page should mention this:
https://www.gnu.org/software/gcc/gcc-10/porting_to.html

It talks about argument mismatches, but it doesn't talk about BOZ
literals in expressions, which used to be (perhaps incorrectly)
accepted.  There is no new command line option to accept this legacy
code, so the webpage should be updated at a minimum.

Reply via email to