aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTom Tromey <tromey@adacore.com>2020-12-18 08:48:36 -0700
committerTom Tromey <tromey@adacore.com>2020-12-18 11:21:40 -0700
commit86ef42bd7333091725991ba568807fcec0a2c1d1 (patch)
treed94449e78a375531fe80174390af06bed21b9c55
parenteba7b68cb023add7bdcbcc79ac6f3ce8e50952e1 (diff)
downloadgdb-86ef42bd7333091725991ba568807fcec0a2c1d1.zip
gdb-86ef42bd7333091725991ba568807fcec0a2c1d1.tar.gz
gdb-86ef42bd7333091725991ba568807fcec0a2c1d1.tar.bz2
Run fixed_points.exp with -fgnat-encodings=minimal
This changes the test case gdb.ada/fixed_points.exp to also be run with -fgnat-encodings=minimal. This change pointed out that the test case had a few incorrect expected outputs; these are fixed as well. Note that the Overprecise_Object test only uses the non-legacy output with GCC trunk. gdb/testsuite/ChangeLog 2020-12-18 Tom Tromey <tromey@adacore.com> * gdb.ada/fixed_points.exp: Also run with -fgnat-encodings=minimal. Update expected output.
-rw-r--r--gdb/testsuite/ChangeLog5
-rw-r--r--gdb/testsuite/gdb.ada/fixed_points.exp134
2 files changed, 78 insertions, 61 deletions
diff --git a/gdb/testsuite/ChangeLog b/gdb/testsuite/ChangeLog
index e48a6fe0..24df951 100644
--- a/gdb/testsuite/ChangeLog
+++ b/gdb/testsuite/ChangeLog
@@ -1,3 +1,8 @@
+2020-12-18 Tom Tromey <tromey@adacore.com>
+
+ * gdb.ada/fixed_points.exp: Also run with
+ -fgnat-encodings=minimal. Update expected output.
+
2020-12-16 Simon Marchi <simon.marchi@efficios.com>
* gdb.base/async-shell.exp: Enable non-stop through GDBFLAGS.
diff --git a/gdb/testsuite/gdb.ada/fixed_points.exp b/gdb/testsuite/gdb.ada/fixed_points.exp
index 1fe2eb2..565f711 100644
--- a/gdb/testsuite/gdb.ada/fixed_points.exp
+++ b/gdb/testsuite/gdb.ada/fixed_points.exp
@@ -19,80 +19,92 @@ if { [skip_ada_tests] } { return -1 }
standard_ada_testfile fixed_points
-if {[gdb_compile_ada "${srcfile}" "${binfile}" executable {debug}] != ""} {
- return -1
-}
-
-clean_restart ${testfile}
-
-set bp_location [gdb_get_line_number "Set breakpoint here" ${testdir}/fixed_points.adb]
-runto "fixed_points.adb:$bp_location"
-
-# Fixed point subtypes:
+foreach_with_prefix scenario {all minimal} {
+ set flags [list debug additional_flags=-fgnat-encodings=$scenario]
+ if {[gdb_compile_ada "${srcfile}" "${binfile}" executable $flags] != ""} {
+ return -1
+ }
-gdb_test "print base_object" \
- "= -50" \
- "p on a fixed point type"
+ clean_restart ${testfile}
-gdb_test "print subtype_object" \
- "= -50" \
- "p on a subtype fixed point type"
+ set bp_location [gdb_get_line_number "Set breakpoint here" ${testdir}/fixed_points.adb]
+ runto "fixed_points.adb:$bp_location"
-gdb_test "print new_type_object" \
- "= -50" \
- "p on a new fixed point type"
+ # Fixed point subtypes:
-# Overprecise delta:
+ gdb_test "print base_object" \
+ "= -50" \
+ "p on a fixed point type"
-gdb_test "print Overprecise_Object" \
- "= 0.13579135791"
+ gdb_test "print subtype_object" \
+ "= -50" \
+ "p on a subtype fixed point type"
-gdb_test "ptype Overprecise_Object" \
- "= delta 0.135791"
+ gdb_test "print new_type_object" \
+ "= -50" \
+ "p on a new fixed point type"
-# FP*_Var...
+ # Overprecise delta:
-gdb_test "print fp1_var" \
- " = 0.25"
+ gdb_test "print Overprecise_Object" \
+ "= 0.13579135791"
-gdb_test_multiple "ptype fp1_var" "" {
- -re "type = <1-byte fixed point \\(small = 0\\.0625\\)>\r\n$gdb_prompt $" {
- pass $gdb_test_name
- }
- -re "type = delta 0\\.1 <'small = 0\\.0625>\r\n$gdb_prompt $" {
- # The (legacy) output we obtain when the compiler described
- # our fixed point types using the GNAT encodings rather than
- # standard DWARF. OK as well.
- pass $gdb_test_name
+ gdb_test_multiple "ptype Overprecise_Object" "" {
+ -re "type = <2-byte fixed point \\(small = 135791357913579/1000000000000000\\)>\r\n$gdb_prompt $" {
+ pass $gdb_test_name
+ }
+ -re "type = delta 0.135791\r\n$gdb_prompt $" {
+ # The (legacy) output we obtain when the compiler described
+ # our fixed point types using the GNAT encodings rather than
+ # standard DWARF. OK as well.
+ pass $gdb_test_name
+ }
}
-}
-
-gdb_test "print fp2_var" \
- " = -0.01"
-gdb_test_multiple "ptype fp2_var" "" {
- -re "type = <8-byte fixed point \\(small = 0\\.01\\)>\r\n$gdb_prompt $" {
- pass $gdb_test_name
- }
- -re "type = delta 0\\.01\r\n$gdb_prompt $" {
- # The (legacy) output we obtain when the compiler described
- # our fixed point types using the GNAT encodings rather than
- # standard DWARF. OK as well.
- pass $gdb_test_name
+ # FP*_Var...
+
+ gdb_test "print fp1_var" \
+ " = 0.25"
+
+ gdb_test_multiple "ptype fp1_var" "" {
+ -re "type = <1-byte fixed point \\(small = 1/16\\)>\r\n$gdb_prompt $" {
+ pass $gdb_test_name
+ }
+ -re "type = delta 0\\.1 <'small = 0\\.0625>\r\n$gdb_prompt $" {
+ # The (legacy) output we obtain when the compiler described
+ # our fixed point types using the GNAT encodings rather than
+ # standard DWARF. OK as well.
+ pass $gdb_test_name
+ }
}
-}
-
-gdb_test "print fp3_var" \
- " = 0.1"
-gdb_test_multiple "ptype fp3_var" "" {
- -re "type = <1-byte fixed point \\(small = 0\\.0333333\\)>\r\n$gdb_prompt $" {
- pass $gdb_test_name
+ gdb_test "print fp2_var" \
+ " = -0.01"
+
+ gdb_test_multiple "ptype fp2_var" "" {
+ -re "type = <8-byte fixed point \\(small = 1/100\\)>\r\n$gdb_prompt $" {
+ pass $gdb_test_name
+ }
+ -re "type = delta 0\\.01\r\n$gdb_prompt $" {
+ # The (legacy) output we obtain when the compiler described
+ # our fixed point types using the GNAT encodings rather than
+ # standard DWARF. OK as well.
+ pass $gdb_test_name
+ }
}
- -re "type = delta 0\\.1 <'small = 0\\.0333333>\r\n$gdb_prompt $" {
- # The (legacy) output we obtain when the compiler described
- # our fixed point types using the GNAT encodings rather than
- # standard DWARF. OK as well.
- pass $gdb_test_name
+
+ gdb_test "print fp3_var" \
+ " = 0.1"
+
+ gdb_test_multiple "ptype fp3_var" "" {
+ -re "type = <1-byte fixed point \\(small = 1/30\\)>\r\n$gdb_prompt $" {
+ pass $gdb_test_name
+ }
+ -re "type = delta 0\\.1 <'small = 0\\.0333333>\r\n$gdb_prompt $" {
+ # The (legacy) output we obtain when the compiler described
+ # our fixed point types using the GNAT encodings rather than
+ # standard DWARF. OK as well.
+ pass $gdb_test_name
+ }
}
}