gdb/testsuite: only add -J option when compiling with gfortran

We currently make use of the -J option to gfortran in order that
compiled modules should be placed in the correct output directory.
Obviously different compilers, e.g. flang, will have different options
to achieve the same result.

This commit makes it so we only add the -J flag when using a gcc
based (i.e. gfortran) compiler.

I had a look through the flang help page and tried a few likely
looking options, but couldn't find anything that seemed to do the same
thing, so, for now, I'm only adding an extra option when compiling
with gfortran.

This does mean that any compiler other than gfortran might run into
problems if running the testsuite in parallel due to modules of the
same name all being written to the same directory, and so possibly
overwriting each other.

gdb/testsuite/ChangeLog:

	* lib/gdb.exp (gdb_compile): Only add the -J option when using a
	gcc based Fortran compiler, for example, flang does not support
	this option.
This commit is contained in:
Andrew Burgess 2021-06-02 09:50:29 +01:00
parent 8a222a6b0f
commit f2d4211150
2 changed files with 9 additions and 1 deletions

View file

@ -1,3 +1,9 @@
2021-06-02 Andrew Burgess <andrew.burgess@embecosm.com>
* lib/gdb.exp (gdb_compile): Only add the -J option when using a
gcc based Fortran compiler, for example, flang does not support
this option.
2021-06-02 Andrew Burgess <andrew.burgess@embecosm.com>
* lib/fortran.exp (fortran_int8): Escape '*' in pattern.

View file

@ -4098,7 +4098,9 @@ proc gdb_compile {source dest type options} {
|| [lsearch -exact $options f90] != -1 } {
# Fortran compile.
set mod_path [standard_output_file ""]
lappend new_options "additional_flags=-J${mod_path}"
if [test_compiler_info "gcc-*"] {
lappend new_options "additional_flags=-J${mod_path}"
}
}
set shlib_found 0