Adds an underscore to the names of all global entities.
.-noextname----------------. | .-:--------. | | V | | >>- -q--+-extname--=------name---+-+---------------------------><
@PROCESS:
@PROCESS EXTNAME[(name1, name2,...)] | NOEXTNAME
-qnoextname
The name of a main program is not affected.
The -qextname option helps to port mixed-language programs to XL Fortran without modifications.
If your program has only a few instances of the naming problems that -qextname solves, you may prefer to select new names with the -brename option of the ld command.
You must compile all the source files for a program, including the source files of any required module files, with the same -qextname setting.
If you use the xlfutility module to ensure that the Service and Utility subprograms are correctly declared, you must change the name to xlfutility_extname when compiling with -qextname.
If there is more than one Service and Utility subprogram referenced in a compilation unit, using -qextname with no names specified and the xlfutility_extname module may cause the procedure declaration check not to work accurately.
This option also affects the names that are specified in the -qextern, -qinline, and -qsigtrap options. You do not have to include underscores in their names on the command line.
@PROCESS EXTNAME
SUBROUTINE STORE_DATA
CALL FLUSH(10) ! Using EXTNAME, we can drop the final underscore.
END SUBROUTINE
@PROCESS(EXTNAME(sub1))
program main
external :: sub1, sub2
call sub1() ! An underscore is added.
call sub2() ! No underscore is added.
end program