call-c.exp revision 1.6
1# Copyright 2006-2016 Free Software Foundation, Inc. 2 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. 7# 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. 12# 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/>. 15 16 17if { [skip_cplus_tests] } { continue } 18 19standard_testfile .cc call-c-1.c 20set objfilec [standard_output_file ${testfile}-1.o] 21set objfilecpp [standard_output_file ${testfile}.o] 22 23if {[gdb_compile "$srcdir/$subdir/${srcfile2}" "${objfilec}" object {debug}] != "" 24 || [gdb_compile "$srcdir/$subdir/${srcfile}" "${objfilecpp}" object {c++ debug}] != "" 25 || [gdb_compile "${objfilecpp} ${objfilec}" "${binfile}" executable {c++ debug}] != ""} { 26 untested ${testfile}.exp 27 return -1 28} 29 30clean_restart ${binfile} 31 32runto_main 33 34gdb_test "b [gdb_get_line_number {breakpoint here} ${testfile}.cc ]" \ 35 ".*Breakpoint .*call-c.*" 36 37gdb_test "print foo(1)" "\\\$$decimal = 1" 38gdb_test "continue" ".*breakpoint here.*" "continue to bp" 39gdb_test "print rf->func()" "\\\$$decimal = 1" 40 41# Regression test for method call via a typedef. 42gdb_test "print handle->func()" "\\\$$decimal = 1" 43