In gdb_default_target_compile, we use dejagnu's default_target_compile, unless
we need support for languages that are not yet support in the used dejagnu
version, in which case we use a local default_target_compile:
gdb_default_target_compile_1.
However, there's another reason to use the local default_target_compile: when
early_flags is used, because there's no dejagnu release available yet
supporting this.
Fix this by detecting and handling early_flags in gdb_default_target_compile.
Tested on x86_64-linux.
gdb/testsuite/ChangeLog:
2020-06-30 Tom de Vries <tdevries@suse.de>
PR testsuite/26175
* lib/future.exp (gdb_default_target_compile): Detect and handle
early_flags.
+2020-06-30 Tom de Vries <tdevries@suse.de>
+
+ PR testsuite/26175
+ * lib/future.exp (gdb_default_target_compile): Detect and handle
+ early_flags.
+
2020-06-29 Simon Marchi <simon.marchi@efficios.com>
* boards/simavr.exp (gdb_load): Catch errors when closing
proc gdb_default_target_compile {source destfile type options} {
global use_gdb_compile
- set need_local 0
+ set need_local_lang 0
+ set need_local_early_flags 0
foreach i $options {
if { $i == "ada" || $i == "d" || $i == "go" || $i == "rust" } {
- set need_local [info exists use_gdb_compile($i)]
- break
+ set need_local_lang [info exists use_gdb_compile($i)]
}
if { $i == "c++" } {
- break
+ set need_local_lang 0
}
if { $i == "f77" || $i == "f90" } {
- set need_local [info exists use_gdb_compile(fortran)]
- break
+ set need_local_lang [info exists use_gdb_compile(fortran)]
+ }
+
+ if { [regexp "^early_flags=" $i] } {
+ set need_local_early_flags 1
}
}
- if { $need_local } {
+ if { $need_local_lang || $need_local_early_flags } {
return [gdb_default_target_compile_1 $source $destfile $type $options]
}