@@ -26,10 +26,8 @@ if {[is_aarch64_target]} {
}
}
-foreach_with_prefix scenario {all minimal} {
- set flags [list debug \
- optimize=-O2 \
- additional_flags=-fgnat-encodings=$scenario]
+foreach_gnat_encoding scenario flags {all minimal} {
+ lappend flags debug optimize=-O2
if {[gdb_compile_ada "${srcfile}" "${binfile}-${scenario}" executable $flags] != ""} {
return -1
@@ -19,8 +19,8 @@ require allow_ada_tests
standard_ada_testfile foo
-foreach_with_prefix scenario {all minimal} {
- set flags [list debug additional_flags=-fgnat-encodings=$scenario]
+foreach_gnat_encoding scenario flags {all minimal} {
+ lappend flags debug
if {[gdb_compile_ada "${srcfile}" "${binfile}-${scenario}" executable $flags] != ""} {
return -1
@@ -19,8 +19,8 @@ require allow_ada_tests
standard_ada_testfile enum_with_gap_main
-foreach_with_prefix scenario {all minimal} {
- set flags [list debug additional_flags=-fgnat-encodings=$scenario]
+foreach_gnat_encoding scenario flags {all minimal} {
+ lappend flags debug
if {[gdb_compile_ada "${srcfile}" "${binfile}-${scenario}" \
executable $flags] != ""} {
@@ -19,8 +19,8 @@ require allow_ada_tests
standard_ada_testfile foo_q418_043
-foreach_with_prefix scenario {all minimal} {
- set flags [list debug additional_flags=-fgnat-encodings=$scenario]
+foreach_gnat_encoding scenario flags {all minimal} {
+ lappend flags debug
if {[gdb_compile_ada "${srcfile}" "${binfile}-${scenario}" executable $flags] != ""} {
return -1
@@ -19,8 +19,8 @@ require allow_ada_tests
standard_ada_testfile foo
-foreach_with_prefix scenario {all minimal} {
- set flags [list debug additional_flags=-fgnat-encodings=$scenario]
+foreach_gnat_encoding scenario flags {all minimal} {
+ lappend flags debug
if {[gdb_compile_ada "${srcfile}" "${binfile}-${scenario}" executable $flags] != ""} {
return -1
@@ -19,8 +19,8 @@ require allow_ada_tests
standard_ada_testfile foo
-foreach_with_prefix scenario {all minimal} {
- set flags [list debug additional_flags=-fgnat-encodings=$scenario]
+foreach_gnat_encoding scenario flags {all minimal} {
+ lappend flags debug
if {[gdb_compile_ada "${srcfile}" "${binfile}-${scenario}" executable $flags] != ""} {
return -1
@@ -40,8 +40,8 @@ proc gdb_test_with_xfail { cmd re re_xfail msg } {
}
}
-foreach_with_prefix scenario {all minimal} {
- set flags [list debug additional_flags=-fgnat-encodings=$scenario]
+foreach_gnat_encoding scenario flags {all minimal} {
+ lappend flags debug
if {[gdb_compile_ada "${srcfile}" "${binfile}-${scenario}" executable $flags] != ""} {
return -1
@@ -19,8 +19,8 @@ require allow_ada_tests
standard_ada_testfile foo
-foreach_with_prefix scenario {all minimal} {
- set flags [list debug additional_flags=-fgnat-encodings=$scenario]
+foreach_gnat_encoding scenario flags {all minimal} {
+ lappend flags debug
if {[gdb_compile_ada "${srcfile}" "${binfile}-${scenario}" executable $flags] != ""} {
return -1
@@ -22,8 +22,8 @@ standard_ada_testfile foo
# Note we don't test the "none" (no -fgnat-encodings option) scenario
# here, because "all" and "minimal" cover the cases, and this way we
# don't have to update the test when gnat changes its default.
-foreach_with_prefix scenario {all minimal} {
- set flags [list debug additional_flags=-fgnat-encodings=$scenario]
+foreach_gnat_encoding scenario flags {all minimal} {
+ lappend flags debug
if {[gdb_compile_ada "${srcfile}" "${binfile}-${scenario}" executable $flags] != ""} {
return -1
@@ -19,8 +19,8 @@ require allow_ada_tests
standard_ada_testfile foo
-foreach_with_prefix scenario {all minimal} {
- set flags [list debug additional_flags=-fgnat-encodings=$scenario]
+foreach_gnat_encoding scenario flags {all minimal} {
+ lappend flags debug
if {[gdb_compile_ada "${srcfile}" "${binfile}-${scenario}" executable $flags] != ""} {
return -1
@@ -21,8 +21,8 @@ standard_ada_testfile foo_ra24_010
set old_gcc [expr [test_compiler_info {gcc-[0-8]-*}]]
-foreach_with_prefix scenario {all minimal} {
- set flags [list debug additional_flags=-fgnat-encodings=$scenario]
+foreach_gnat_encoding scenario flags {all minimal} {
+ lappend flags debug
if {[gdb_compile_ada "${srcfile}" "${binfile}-${scenario}" executable $flags] != ""} {
return -1
@@ -19,8 +19,8 @@ require allow_ada_tests
standard_ada_testfile foo
-foreach_with_prefix scenario {all minimal} {
- set flags [list debug additional_flags=-fgnat-encodings=$scenario]
+foreach_gnat_encoding scenario flags {all minimal} {
+ lappend flags debug
if {[gdb_compile_ada "${srcfile}" "${binfile}-${scenario}" executable $flags] != ""} {
return -1
@@ -19,8 +19,8 @@ require allow_ada_tests
standard_ada_testfile fixed
-foreach_with_prefix gnat_encodings {all minimal} {
- set flags [list debug additional_flags=-fgnat-encodings=$gnat_encodings]
+foreach_gnat_encoding gnat_encodings flags {all minimal} {
+ lappend flags debug
if {[gdb_compile_ada "${srcfile}" "${binfile}-${gnat_encodings}" executable $flags] != "" } {
return -1
@@ -19,8 +19,8 @@ require allow_ada_tests
standard_ada_testfile fixed_points
-foreach_with_prefix scenario {all minimal} {
- set flags [list debug additional_flags=-fgnat-encodings=$scenario]
+foreach_gnat_encoding scenario flags {all minimal} {
+ lappend flags debug
if {[gdb_compile_ada "${srcfile}" "${binfile}-${scenario}" executable $flags] != ""} {
return -1
}
@@ -27,11 +27,10 @@ gdb_compile "${csrcfile}" "${cobject}" object [list debug]
# Note we don't test the "none" (no -fgnat-encodings option) scenario
# here, because "all" and "minimal" cover the cases, and this way we
# don't have to update the test when gnat changes its default.
-foreach_with_prefix scenario {all minimal} {
- set flags [list debug additional_flags=-largs \
- additional_flags=${cobject} \
- additional_flags=-margs \
- additional_flags=-fgnat-encodings=$scenario]
+foreach_gnat_encoding scenario flags {all minimal} {
+ lappend flags debug additional_flags=-largs \
+ additional_flags=${cobject} \
+ additional_flags=-margs
if {[gdb_compile_ada "${srcfile}" "${binfile}-${scenario}" executable $flags] != ""} {
return -1
@@ -22,8 +22,8 @@ standard_ada_testfile foo
# Note we don't test the "none" (no -fgnat-encodings option) scenario
# here, because "all" and "minimal" cover the cases, and this way we
# don't have to update the test when gnat changes its default.
-foreach_with_prefix scenario {all minimal} {
- set flags [list debug additional_flags=-fgnat-encodings=$scenario]
+foreach_gnat_encoding scenario flags {all minimal} {
+ lappend flags debug
if {[gdb_compile_ada "${srcfile}" "${binfile}-${scenario}" executable $flags] != ""} {
return -1
@@ -22,8 +22,8 @@ standard_ada_testfile bar
load_lib mi-support.exp
set MIFLAGS "-i=mi"
-foreach_with_prefix scenario {all minimal} {
- set flags [list debug additional_flags=-fgnat-encodings=$scenario]
+foreach_gnat_encoding scenario flags {all minimal} {
+ lappend flags debug
if {[gdb_compile_ada "${srcfile}" "${binfile}-${scenario}" executable $flags] != ""} {
return -1
@@ -22,11 +22,8 @@ standard_ada_testfile bar
load_lib mi-support.exp
set MIFLAGS "-i=mi"
-foreach_with_prefix scenario {none all minimal} {
- set flags {debug}
- if {$scenario != "none"} {
- lappend flags additional_flags=-fgnat-encodings=$scenario
- }
+foreach_gnat_encoding scenario flags {none all minimal} {
+ lappend flags debug
if {[gdb_compile_ada "${srcfile}" "${binfile}-${scenario}" executable $flags] != "" } {
return -1
@@ -24,11 +24,8 @@ set MIFLAGS "-i=mi"
set float "\\-?((\[0-9\]+(\\.\[0-9\]+)?(e\[-+\]\[0-9\]+)?)|(nan\\($hex\\)))"
-foreach_with_prefix scenario {none all minimal} {
- set flags {debug}
- if {$scenario != "none"} {
- lappend flags additional_flags=-fgnat-encodings=$scenario
- }
+foreach_gnat_encoding scenario flags {none all minimal} {
+ lappend flags debug
if {[gdb_compile_ada "${srcfile}" "${binfile}-${scenario}" executable $flags] != "" } {
return -1
@@ -23,11 +23,8 @@ standard_ada_testfile pkg
load_lib mi-support.exp
set MIFLAGS "-i=mi"
-foreach_with_prefix scenario {none all minimal} {
- set flags {debug}
- if {$scenario != "none"} {
- lappend flags additional_flags=-fgnat-encodings=$scenario
- }
+foreach_gnat_encoding scenario flags {none all minimal} {
+ lappend flags debug
if {[gdb_compile_ada "${srcfile}" "${binfile}-${scenario}" executable $flags] != ""} {
return -1
@@ -19,8 +19,8 @@ require allow_ada_tests
standard_ada_testfile foo
-foreach_with_prefix scenario {all minimal} {
- set flags [list debug additional_flags=-fgnat-encodings=$scenario]
+foreach_gnat_encoding scenario flags {all minimal} {
+ lappend flags debug
if {[gdb_compile_ada "${srcfile}" "${binfile}-${scenario}" executable $flags] != ""} {
return -1
@@ -19,8 +19,8 @@ require allow_ada_tests
standard_ada_testfile p
-foreach_with_prefix scenario {all minimal} {
- set flags [list debug additional_flags=-fgnat-encodings=$scenario]
+foreach_gnat_encoding scenario flags {all minimal} {
+ lappend flags debug
if {[gdb_compile_ada "${srcfile}" "${binfile}-${scenario}" executable {debug}] != ""} {
return -1
@@ -19,10 +19,8 @@ require allow_ada_tests
standard_ada_testfile foo_o224_021
-foreach_with_prefix scenario {all minimal} {
- set flags [list debug \
- optimize=-O2 \
- additional_flags=-fgnat-encodings=$scenario]
+foreach_gnat_encoding scenario flags {all minimal} {
+ lappend flags debug optimize=-O2
if {[gdb_compile_ada "${srcfile}" "${binfile}-${scenario}" executable $flags] != ""} {
return -1
@@ -19,8 +19,8 @@ require allow_ada_tests
standard_ada_testfile pa
-foreach_with_prefix scenario {all minimal} {
- set flags [list debug additional_flags=-fgnat-encodings=$scenario]
+foreach_gnat_encoding scenario flags {all minimal} {
+ lappend flags debug
if {[gdb_compile_ada "${srcfile}" "${binfile}-${scenario}" executable $flags] != ""} {
return -1
@@ -19,8 +19,8 @@ require allow_ada_tests
standard_ada_testfile pr
-foreach_with_prefix scenario {all minimal} {
- set flags [list debug additional_flags=-fgnat-encodings=$scenario]
+foreach_gnat_encoding scenario flags {all minimal} {
+ lappend flags debug
if {[gdb_compile_ada "${srcfile}" "${binfile}-${scenario}" executable $flags] != ""} {
return -1
@@ -22,11 +22,8 @@ standard_ada_testfile comp_bug
# Note we don't test the "none" (no -fgnat-encodings option) scenario
# here, because "all" and "minimal" cover the cases, and this way we
# don't have to update the test when gnat changes its default.
-foreach_with_prefix scenario {all minimal} {
- set flags {debug}
- if {$scenario != "none"} {
- lappend flags additional_flags=-fgnat-encodings=$scenario
- }
+foreach_gnat_encoding scenario flags {all minimal} {
+ lappend flags debug
if {[gdb_compile_ada "${srcfile}" "${binfile}-${scenario}" executable $flags] != ""} {
return -1
@@ -19,8 +19,8 @@ require allow_ada_tests
standard_ada_testfile foo
-foreach_with_prefix scenario {all minimal} {
- set flags [list debug additional_flags=-fgnat-encodings=$scenario]
+foreach_gnat_encoding scenario flags {all minimal} {
+ lappend flags debug
if {[gdb_compile_ada "${srcfile}" "${binfile}-${scenario}" executable $flags] != ""} {
return -1
@@ -21,8 +21,8 @@ require allow_ada_tests
standard_ada_testfile prog
-foreach_with_prefix scenario {all minimal} {
- set flags [list debug additional_flags=-fgnat-encodings=$scenario]
+foreach_gnat_encoding scenario flags {all minimal} {
+ lappend flags debug
if {[gdb_compile_ada "${srcfile}" "${binfile}-${scenario}" executable $flags] != ""} {
return -1
@@ -22,8 +22,8 @@ standard_ada_testfile main
# Note we don't test the "none" (no -fgnat-encodings option) scenario
# here, because "all" and "minimal" cover the cases, and this way we
# don't have to update the test when gnat changes its default.
-foreach_with_prefix scenario {all minimal} {
- set flags [list debug additional_flags=-fgnat-encodings=$scenario]
+foreach_gnat_encoding scenario flags {all minimal} {
+ lappend flags debug
if {[gdb_compile_ada "${srcfile}" "${binfile}-${scenario}" executable $flags] != ""} {
return -1
@@ -19,8 +19,8 @@ require allow_ada_tests
standard_ada_testfile foo
-foreach_with_prefix scenario {all minimal} {
- set flags [list debug additional_flags=-fgnat-encodings=$scenario]
+foreach_gnat_encoding scenario flags {all minimal} {
+ lappend flags debug
if {[gdb_compile_ada "${srcfile}" "${binfile}-${scenario}" executable $flags] != "" } {
return -1
@@ -19,8 +19,8 @@ require allow_ada_tests
standard_ada_testfile foo
-foreach_with_prefix scenario {all minimal} {
- set flags [list debug additional_flags=-fgnat-encodings=$scenario]
+foreach_gnat_encoding scenario flags {all minimal} {
+ lappend flags debug
if {[gdb_compile_ada "${srcfile}" "${binfile}-${scenario}" executable $flags] != ""} {
return -1
@@ -19,8 +19,8 @@ require allow_ada_tests
standard_ada_testfile foo
-foreach_with_prefix scenario {all minimal} {
- set flags [list debug additional_flags=-fgnat-encodings=$scenario]
+foreach_gnat_encoding scenario flags {all minimal} {
+ lappend flags debug
if {[gdb_compile_ada "${srcfile}" "${binfile}-${scenario}" executable $flags] != ""} {
return -1
@@ -51,11 +51,8 @@ set pair_string { case ? is
}
set pair_full "type = record\n${inner_string}${pair_string}end record"
-foreach_with_prefix scenario {none all minimal} {
- set flags {debug}
- if {$scenario != "none"} {
- lappend flags additional_flags=-fgnat-encodings=$scenario
- }
+foreach_gnat_encoding scenario flags {none all minimal} {
+ lappend flags debug
if {[gdb_compile_ada "${srcfile}" "${binfile}-${scenario}" executable $flags] != ""} {
return -1
@@ -22,8 +22,8 @@ standard_ada_testfile foo_na09_042
# Note we don't test the "none" (no -fgnat-encodings option) scenario
# here, because "all" and "minimal" cover the cases, and this way we
# don't have to update the test when gnat changes its default.
-foreach_with_prefix scenario {all minimal} {
- set flags [list debug additional_flags=-fgnat-encodings=$scenario]
+foreach_gnat_encoding scenario flags {all minimal} {
+ lappend flags debug
if {[gdb_compile_ada "${srcfile}" "${binfile}-${scenario}" executable $flags] != ""} {
return -1
@@ -20,11 +20,8 @@ require allow_ada_tests
standard_ada_testfile pkg
-foreach_with_prefix scenario {none all minimal} {
- set flags {debug}
- if {$scenario != "none"} {
- lappend flags additional_flags=-fgnat-encodings=$scenario
- }
+foreach_gnat_encoding scenario flags {none all minimal} {
+ lappend flags debug
if {[gdb_compile_ada "${srcfile}" "${binfile}-${scenario}" executable $flags] != ""} {
return -1
@@ -19,8 +19,8 @@ require allow_ada_tests
standard_ada_testfile foo
-foreach_with_prefix scenario {all minimal} {
- set flags [list debug additional_flags=-fgnat-encodings=$scenario]
+foreach_gnat_encoding scenario flags {all minimal} {
+ lappend flags debug
if {[gdb_compile_ada "${srcfile}" "${binfile}-${scenario}" executable $flags] != ""} {
return -1
@@ -13,6 +13,25 @@
# You should have received a copy of the GNU General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>.
+# A wrapper for foreach_with_prefix that applies suitable
+# -fgnat-encodings arguments to a command line. SCENARIO_ARG is the
+# name of a loop variable that will hold the scenario currently being
+# evaluated. FLAGS_ARG will be set to the appropriate compiler flags
+# (if any) for this scenario. LIST is the list of desired scenarios
+# to run, and BODY is what actually does the work.
+
+proc foreach_gnat_encoding {scenario_arg flags_arg list body} {
+ upvar 1 $scenario_arg scenario
+ upvar 1 $flags_arg flags
+ foreach_with_prefix scenario $list {
+ set flags {}
+ if {$scenario != "none"} {
+ lappend flags additional_flags=-fgnat-encodings=$scenario
+ }
+ uplevel 1 $body
+ }
+}
+
# Call target_compile with SOURCE DEST TYPE and OPTIONS as argument,
# after having temporarily changed the current working directory to
# BUILDDIR.