1 # Copyright
2010-2015 Free Software Foundation
, Inc.
3 # This
program is free software
; you can redistribute it and
/or modify
4 # it under the terms of the GNU General Public License as published by
5 # the Free Software Foundation
; either version
3 of the License
, or
6 #
(at your option
) any later version.
8 # This
program is distributed in the hope that it will be useful
,
9 # but WITHOUT
ANY WARRANTY
; without even the implied warranty of
10 # MERCHANTABILITY or FITNESS
FOR A PARTICULAR PURPOSE. See the
11 # GNU General Public License
for more details.
13 # You should have received a copy of the GNU General Public License
14 # along with this
program.
If not
, see
<http
://www.gnu.org
/licenses
/>.
18 standard_ada_testfile a
20 set cfile
"${testdir}/foo"
21 set csrcfile $
{srcdir
}/$
{subdir
}/$
{cfile
}.c
22 set cobject
[standard_output_file $
{cfile
}.o
]
24 gdb_compile
"${csrcfile}" "${cobject}" object [list debug]
25 if {[gdb_compile_ada
"${srcfile}" "${binfile}" executable [list debug]] != "" } {
29 clean_restart $
{testfile
}
31 # Run to c_function an verify that the language automatically gets
set to C.
33 gdb_test
"show lang" \
34 "The current source language is \"auto; currently c\"\\."
36 # Now
, insert a breakpoint inside an Ada unit
, using a condition written
37 # in Ada. Even though the current language is
"auto; currently c", we
38 # expect the debugger to
parse the expression using Ada
, because the
39 # current language
mode is auto
, and the breakpoint is inside Ada code.
40 set bp_location
[gdb_get_line_number
"STOP" ${testdir}/mixed.adb]
41 gdb_test
"break mixed.adb:${bp_location} if light = green" \
42 "Breakpoint \[0-9\]* at .*: file .*/mixed.adb, line \[0-9\]*\\."
44 # Now
, continue until we hit the breakpoint.
If the condition is
45 # evaluated correctly
, the first hit will be ignored
, and the debugger
46 # will stop at the second hit only
, when the
"light" argument is equal
49 "Breakpoint \[0-9\]*, mixed\\.break_me \\(light=green\\) at .*"