Run fixed_points.exp with -fgnat-encodings=minimal
authorTom Tromey <tromey@adacore.com>
Fri, 18 Dec 2020 15:48:36 +0000 (08:48 -0700)
committerTom Tromey <tromey@adacore.com>
Fri, 18 Dec 2020 18:21:40 +0000 (11:21 -0700)
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.

gdb/testsuite/ChangeLog
gdb/testsuite/gdb.ada/fixed_points.exp

index e48a6fe0ec1fc13590134b57cedd06646902c3c5..24df95135db3d980186ea3d89456874f7eb5ee45 100644 (file)
@@ -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.
index 1fe2eb203cbee46096a0c27926ece96a9cb58a7b..565f7115f442cb768b03b91654866073214d74d0 100644 (file)
@@ -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
+       }
     }
 }