diff options
Diffstat (limited to 'gdb/testsuite/gdb.cp')
-rw-r--r-- | gdb/testsuite/gdb.cp/call-c-1.c | 21 | ||||
-rw-r--r-- | gdb/testsuite/gdb.cp/call-c.cc | 29 | ||||
-rw-r--r-- | gdb/testsuite/gdb.cp/call-c.exp | 47 |
3 files changed, 97 insertions, 0 deletions
diff --git a/gdb/testsuite/gdb.cp/call-c-1.c b/gdb/testsuite/gdb.cp/call-c-1.c new file mode 100644 index 0000000..32d8e53 --- /dev/null +++ b/gdb/testsuite/gdb.cp/call-c-1.c @@ -0,0 +1,21 @@ +/* This test script is part of GDB, the GNU debugger. + + Copyright 2006 + 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 2 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, write to the Free Software + Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. + */ + +int foo(int x) { return x; } diff --git a/gdb/testsuite/gdb.cp/call-c.cc b/gdb/testsuite/gdb.cp/call-c.cc new file mode 100644 index 0000000..77be441 --- /dev/null +++ b/gdb/testsuite/gdb.cp/call-c.cc @@ -0,0 +1,29 @@ +/* This test script is part of GDB, the GNU debugger. + + Copyright 2006 + 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 2 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, write to the Free Software + Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. + */ + +int func(int x) +{ + return x; +} + +int main() +{ + return func(0); +} diff --git a/gdb/testsuite/gdb.cp/call-c.exp b/gdb/testsuite/gdb.cp/call-c.exp new file mode 100644 index 0000000..879e195 --- /dev/null +++ b/gdb/testsuite/gdb.cp/call-c.exp @@ -0,0 +1,47 @@ +# Copyright 2006 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 2 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, write to the Free Software +# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. + +if $tracelevel then { + strace $tracelevel +} + +set prms_id 0 +set bug_id 0 + +if { [skip_cplus_tests] } { continue } + +set testfile call-c +set binfile ${objdir}/${subdir}/${testfile} +set srcfilec ${srcdir}/${subdir}/${testfile}-1.c +set srcfilecpp ${srcdir}/${subdir}/${testfile}.cc +set objfilec ${objdir}/${subdir}/${testfile}-1.o +set objfilecpp ${objdir}/${subdir}/${testfile}.o + +if {[gdb_compile "${srcfilec}" "${objfilec}" object {debug}] != "" + || [gdb_compile "${srcfilecpp}" "${objfilecpp}" object {c++ debug}] != "" + || [gdb_compile "${objfilecpp} ${objfilec}" "${binfile}" executable {c++ debug}] != ""} { + untested hang.exp + return -1 +} + +gdb_exit +gdb_start +gdb_reinitialize_dir $srcdir/$subdir +gdb_load ${binfile} + +runto_main + +gdb_test "print foo(1)" "\\\$$decimal = 1" |