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
+ }
}
}