[gdb/testsuite] Require gnatmake 8 for gdb.ada/rename_subscript_param.exp

When running gdb.ada/rename_subscript_param.exp with gnatmake 7.4.1, we get:
...
FAIL: gdb.ada/rename_subscript_param.exp: print rename_subscript_param_b \
  before changing its value
FAIL: gdb.ada/rename_subscript_param.exp: print rename_subscript_param_b \
  after changing its value
...

The commit last touching the test-case (afcfda091e) states:
...
    The test still fails with old compilers that do not properly
    generate debug info for this renaming:
...

Fix this by requiring at least gnatmake 8 for the test-case.

Tested on x86_64-linux.

gdb/testsuite/ChangeLog:

2019-09-14  Tom de Vries  <tdevries@suse.de>

	PR teststuite/24599
	* gdb.ada/rename_subscript_param.exp: Require gnatmake 8.
	* lib/ada.exp (gnatmake_version_at_least): New proc.
This commit is contained in:
Tom de Vries 2019-09-14 10:35:48 +02:00
parent 4be407dadb
commit d1b70248bd
3 changed files with 29 additions and 0 deletions

View File

@ -1,3 +1,9 @@
2019-09-14 Tom de Vries <tdevries@suse.de>
PR teststuite/24599
* gdb.ada/rename_subscript_param.exp: Require gnatmake 8.
* lib/ada.exp (gnatmake_version_at_least): New proc.
2019-09-12 Andrew Burgess <andrew.burgess@embecosm.com>
* gdb.base/maint.exp: Use exec_has_index_section.

View File

@ -15,6 +15,10 @@
load_lib "ada.exp"
if { ![gnatmake_version_at_least 8] } {
return -1
}
standard_ada_testfile pb30_012
if {[gdb_compile_ada "${srcfile}" "${binfile}" executable [list debug]] != "" } {

View File

@ -105,3 +105,22 @@ proc find_ada_tool {tool} {
return $result
}
# Return 1 if gnatmake is at least version $MAJOR.x.x
proc gnatmake_version_at_least { major } {
set gnatmake [gdb_find_gnatmake]
set gnatmake [lindex [split $gnatmake] 0]
set output [exec $gnatmake --version]
if { [regexp {GNATMAKE ([^ .]+).([^ .]+).([^ .]+)} $output \
match gnatmake_major gnatmake_minor gnatmake_micro] } {
if { $gnatmake_major >= $major } {
return 1
} else {
return 0
}
}
# Unknown, return 1
return 1
}