2015-01-01 09:32:14 +00:00
|
|
|
# Copyright 2005-2015 Free Software Foundation, Inc.
|
2005-02-15 15:35:26 +00:00
|
|
|
#
|
|
|
|
# This program is free software; you can redistribute it and/or modify
|
|
|
|
# it under the terms of the GNU General Public License as published by
|
2007-08-23 18:14:19 +00:00
|
|
|
# the Free Software Foundation; either version 3 of the License, or
|
2005-02-15 15:35:26 +00:00
|
|
|
# (at your option) any later version.
|
2007-08-23 18:14:19 +00:00
|
|
|
#
|
2005-02-15 15:35:26 +00:00
|
|
|
# This program is distributed in the hope that it will be useful,
|
|
|
|
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
|
|
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
|
|
# GNU General Public License for more details.
|
2007-08-23 18:14:19 +00:00
|
|
|
#
|
2005-02-15 15:35:26 +00:00
|
|
|
# You should have received a copy of the GNU General Public License
|
2007-08-23 18:14:19 +00:00
|
|
|
# along with this program. If not, see <http://www.gnu.org/licenses/>.
|
2005-02-15 15:35:26 +00:00
|
|
|
|
|
|
|
load_lib "ada.exp"
|
|
|
|
|
* lib/gdb.exp (gdb_compile_test): New.
(skip_ada_tests, skip_java_tests): New.
(gdb_compile): Use gdb_compile_test for f77.
* lib/ada.exp (gdb_compile_ada): Use gdb_compile_test to record result.
* lib/java.exp (compile_java_from_source): Remove runtests check,
use gdb_compile_test to record result.
* gdb.ada/packed_array.exp, gdb.ada/fixed_points.exp,
gdb.ada/exec_changed.exp, gdb.ada/start.exp,
gdb.ada/watch_arg.exp, gdb.ada/null_record.exp,
gdb.ada/array_return.exp, gdb.ada/arrayidx.exp,
gdb.mi/mi-var-child-f.exp, gdb.fortran/types.exp,
gdb.fortran/array-element.exp, gdb.fortran/subarray.exp,
gdb.fortran/derived-type.exp, gdb.fortran/exprs.exp,
gdb.java/jmisc.exp, gdb.java/jmisc1.exp, gdb.java/jprint.exp,
gdb.java/jv-print.exp, gdb.java/jmain.exp: Add language skip,
adjust gdb_compile invocations.
2009-11-10 10:16:10 +00:00
|
|
|
if { [skip_ada_tests] } { return -1 }
|
|
|
|
|
2012-07-26 18:43:02 +00:00
|
|
|
standard_ada_testfile pa
|
2005-02-15 15:35:26 +00:00
|
|
|
|
* lib/gdb.exp (gdb_compile_test): New.
(skip_ada_tests, skip_java_tests): New.
(gdb_compile): Use gdb_compile_test for f77.
* lib/ada.exp (gdb_compile_ada): Use gdb_compile_test to record result.
* lib/java.exp (compile_java_from_source): Remove runtests check,
use gdb_compile_test to record result.
* gdb.ada/packed_array.exp, gdb.ada/fixed_points.exp,
gdb.ada/exec_changed.exp, gdb.ada/start.exp,
gdb.ada/watch_arg.exp, gdb.ada/null_record.exp,
gdb.ada/array_return.exp, gdb.ada/arrayidx.exp,
gdb.mi/mi-var-child-f.exp, gdb.fortran/types.exp,
gdb.fortran/array-element.exp, gdb.fortran/subarray.exp,
gdb.fortran/derived-type.exp, gdb.fortran/exprs.exp,
gdb.java/jmisc.exp, gdb.java/jmisc1.exp, gdb.java/jprint.exp,
gdb.java/jv-print.exp, gdb.java/jmain.exp: Add language skip,
adjust gdb_compile invocations.
2009-11-10 10:16:10 +00:00
|
|
|
if {[gdb_compile_ada "${srcfile}" "${binfile}" executable {debug}] != ""} {
|
|
|
|
return -1
|
2005-02-15 15:35:26 +00:00
|
|
|
}
|
|
|
|
|
[testsuite/gdb.ada] simplify some testcases by using clean_restart.
gdb/testsuite/ChangeLog:
* gdb.ada/array_bounds.exp, gdb.ada/array_return.exp,
gdb.ada/array_subscript_addr.exp, gdb.ada/arrayidx.exp,
gdb.ada/arrayparam.exp, gdb.ada/arrayptr.exp,
gdb.ada/atomic_enum.exp, gdb.ada/call_pn.exp,
gdb.ada/catch_ex.exp, gdb.ada/char_param.exp,
gdb.ada/complete.exp, gdb.ada/exprs.exp, gdb.ada/fixed_cmp.exp,
gdb.ada/fixed_points.exp, gdb.ada/formatted_ref.exp,
gdb.ada/frame_args.exp, gdb.ada/fun_addr.exp,
gdb.ada/fun_in_declare.exp, gdb.ada/funcall_param.exp,
gdb.ada/homonym.exp, gdb.ada/int_deref.exp,
gdb.ada/interface.exp, gdb.ada/lang_switch.exp,
gdb.ada/mod_from_name.exp, gdb.ada/nested.exp,
gdb.ada/null_array.exp, gdb.ada/null_record.exp,
gdb.ada/packed_array.exp, gdb.ada/packed_tagged.exp,
gdb.ada/print_chars.exp, gdb.ada/print_pc.exp,
gdb.ada/ptype_field.exp, gdb.ada/ptype_tagged_param.exp,
gdb.ada/rec_return.exp, gdb.ada/ref_param.exp,
gdb.ada/ref_tick_size.exp, gdb.ada/start.exp,
gdb.ada/str_ref_cmp.exp, gdb.ada/sym_print_name.exp,
gdb.ada/taft_type.exp, gdb.ada/tagged.exp, gdb.ada/tasks.exp,
gdb.ada/tick_last_segv.exp, gdb.ada/type_coercion.exp,
gdb.ada/uninitialized_vars.exp,
gdb.ada/variant_record_packed_array.exp, gdb.ada/watch_arg.exp:
Simplify by using clean_restart.
2011-01-06 10:35:00 +00:00
|
|
|
clean_restart ${testfile}
|
2005-02-15 15:35:26 +00:00
|
|
|
|
|
|
|
set bp_location [gdb_get_line_number "STOP" ${testdir}/pa.adb]
|
|
|
|
runto "pa.adb:$bp_location"
|
|
|
|
|
|
|
|
gdb_test "print var" \
|
* gdb.ada/array_bounds.exp, gdb.ada/array_subscript_addr.exp,
gdb.ada/arrayidx.exp, gdb.ada/arrayparam.exp, gdb.ada/arrayptr.exp,
gdb.ada/assign_1.exp, gdb.ada/boolean_expr.exp,
gdb.ada/char_param.exp, gdb.ada/exprs.exp, gdb.ada/fixed_cmp.exp,
gdb.ada/fixed_points.exp, gdb.ada/fun_addr.exp,
gdb.ada/funcall_param.exp, gdb.ada/homonym.exp,
gdb.ada/interface.exp, gdb.ada/null_array.exp,
gdb.ada/packed_array.exp, gdb.ada/packed_tagged.exp,
gdb.ada/print_chars.exp, gdb.ada/print_pc.exp,
gdb.ada/str_ref_cmp.exp, gdb.ada/sym_print_name.exp,
gdb.ada/taft_type.exp, gdb.ada/tagged.exp, gdb.ada/type_coercion.exp:
Include the "= " sequence in the expected output of print tests.
2008-09-10 17:11:11 +00:00
|
|
|
"= \\(4 => true, false, true, false, true\\)" \
|
2005-02-15 15:35:26 +00:00
|
|
|
"print var"
|
|
|
|
|
2008-01-04 20:47:16 +00:00
|
|
|
# Try printing the value and the type definition of a reference
|
|
|
|
# to variable "Var".
|
|
|
|
|
|
|
|
gdb_test "ptype &var" \
|
|
|
|
"type = access array \\(4 \\.\\. 8\\) of boolean <packed: 1-bit elements>" \
|
|
|
|
"ptype &var"
|
|
|
|
|
|
|
|
gdb_test "print &var" \
|
2011-07-01 18:27:25 +00:00
|
|
|
"= \\(access pa.packed_array\\) 0x.*" \
|
2008-01-04 20:47:16 +00:00
|
|
|
"print &var"
|
2011-02-17 06:42:57 +00:00
|
|
|
|
|
|
|
# Print the value of U_Var, an unconstrainted packed array.
|
|
|
|
|
2011-02-21 10:12:14 +00:00
|
|
|
set test "print u_var"
|
|
|
|
gdb_test_multiple "$test" "$test" {
|
|
|
|
-re "= \\(true, false, false, true, true, false\\)\[\r\n\]+$gdb_prompt $" {
|
|
|
|
pass $test
|
|
|
|
}
|
|
|
|
-re "= \\(warning: unable to get bounds of array.*\\)\[\r\n\]+$gdb_prompt $" {
|
|
|
|
# The compiler forgot to emit the packed array's ___XA type,
|
|
|
|
# preventing us from determining the what the array bounds
|
|
|
|
# are. Observed with (FSF GNU Ada 4.5.3 20110124).
|
|
|
|
xfail $test
|
|
|
|
}
|
|
|
|
}
|
2011-02-17 06:42:57 +00:00
|
|
|
|