diff options
Diffstat (limited to 'gdb/testsuite')
-rw-r--r-- | gdb/testsuite/ChangeLog | 5 | ||||
-rw-r--r-- | gdb/testsuite/gdb.ada/bp_c_mixed_case.exp | 52 | ||||
-rw-r--r-- | gdb/testsuite/gdb.ada/bp_c_mixed_case/bar.c | 21 | ||||
-rw-r--r-- | gdb/testsuite/gdb.ada/bp_c_mixed_case/foo_h731_021.adb | 21 |
4 files changed, 99 insertions, 0 deletions
diff --git a/gdb/testsuite/ChangeLog b/gdb/testsuite/ChangeLog index a81f9da..c3b38c4 100644 --- a/gdb/testsuite/ChangeLog +++ b/gdb/testsuite/ChangeLog @@ -1,6 +1,11 @@ 2018-01-04 Joel Brobecker <brobecker@adacore.com> PR gdb/22670 + * gdb.ada/bp_c_mixed_case: New testcase. + +2018-01-04 Joel Brobecker <brobecker@adacore.com> + + PR gdb/22670 * gdb.ada/complete.exp: Add "complete break ada" test. 2018-01-04 Joel Brobecker <brobecker@adacore.com> diff --git a/gdb/testsuite/gdb.ada/bp_c_mixed_case.exp b/gdb/testsuite/gdb.ada/bp_c_mixed_case.exp new file mode 100644 index 0000000..54c61e3 --- /dev/null +++ b/gdb/testsuite/gdb.ada/bp_c_mixed_case.exp @@ -0,0 +1,52 @@ +# Copyright 2018 Free Software Foundation, Inc. +# +# 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 +# the Free Software Foundation; either version 3 of the License, or +# (at your option) any later version. +# +# 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. +# +# You should have received a copy of the GNU General Public License +# along with this program. If not, see <http://www.gnu.org/licenses/>. + +load_lib "ada.exp" + +standard_ada_testfile foo_h731_021 + +set cfile "bar" +set csrcfile ${srcdir}/${subdir}/${testdir}/${cfile}.c +set cobject [standard_output_file ${cfile}.o] + +gdb_compile "${csrcfile}" "${cobject}" object [list debug] +if {[gdb_compile_ada "${srcfile}" "${binfile}" executable [list debug additional_flags=-largs additional_flags=${cobject} additional_flags=-margs]] != "" } { + return -1 +} + +clean_restart ${testfile} + +if ![runto "foo_h731_021"] then { + perror "Couldn't run ${testfile}" + return +} + +# Verify that the current language is Ada. +gdb_test "show lang" \ + "\"auto; currently ada\"\\." + +# Try inserting a breakpoint inside a C function. Because the function's +# name has some uppercase letters, we need to use the "<...>" notation. +# The purpose of this testcase is to verify that we can in fact do so +# and that it inserts the breakpoint at the expected location. +setup_kfail gdb/22670 "*-*-*" +gdb_test "break <MixedCaseFunc>" \ + "Breakpoint $decimal at $hex: file .*bar.c, line $decimal\\." + +# Resume the program's execution, verifying that it lands at the expected +# location. +setup_kfail gdb/22670 "*-*-*" +gdb_test "continue" \ + "Breakpoint $decimal, MixedCaseFunc \\(\\) at .*bar\\.c:$decimal.*" diff --git a/gdb/testsuite/gdb.ada/bp_c_mixed_case/bar.c b/gdb/testsuite/gdb.ada/bp_c_mixed_case/bar.c new file mode 100644 index 0000000..4bcbfa8 --- /dev/null +++ b/gdb/testsuite/gdb.ada/bp_c_mixed_case/bar.c @@ -0,0 +1,21 @@ +/* Copyright 2018 Free Software Foundation, Inc. + + This file is part of GDB. + + 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 + the Free Software Foundation; either version 3 of the License, or + (at your option) any later version. + + 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. + + You should have received a copy of the GNU General Public License + along with this program. If not, see <http://www.gnu.org/licenses/>. */ + +void +MixedCaseFunc (void) +{ +} diff --git a/gdb/testsuite/gdb.ada/bp_c_mixed_case/foo_h731_021.adb b/gdb/testsuite/gdb.ada/bp_c_mixed_case/foo_h731_021.adb new file mode 100644 index 0000000..88e0c31 --- /dev/null +++ b/gdb/testsuite/gdb.ada/bp_c_mixed_case/foo_h731_021.adb @@ -0,0 +1,21 @@ +-- Copyright 2018 Free Software Foundation, Inc. +-- +-- 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 +-- the Free Software Foundation; either version 3 of the License, or +-- (at your option) any later version. +-- +-- 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. +-- +-- You should have received a copy of the GNU General Public License +-- along with this program. If not, see <http://www.gnu.org/licenses/>. + +procedure Foo_H731_021 is + Procedure C_Func; + pragma Import (C, C_Func, "MixedCaseFunc"); +begin + C_Func; +end Foo_H731_021; |