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.
+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.
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]] != "" } {
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
+}