diff options
author | Joel Brobecker <brobecker@gnat.com> | 2011-11-29 16:59:45 +0000 |
---|---|---|
committer | Joel Brobecker <brobecker@gnat.com> | 2011-11-29 16:59:45 +0000 |
commit | a35ad96ac88af299d42c45c71ac153e35c34c057 (patch) | |
tree | 0d2a0d125d2f15dae7cdebb399baa3dc330c7952 /gdb/testsuite/gdb.base | |
parent | 74d44110ad6ae12dfd0a4cf035705873b97fa52d (diff) | |
download | gdb-a35ad96ac88af299d42c45c71ac153e35c34c057.zip gdb-a35ad96ac88af299d42c45c71ac153e35c34c057.tar.gz gdb-a35ad96ac88af299d42c45c71ac153e35c34c057.tar.bz2 |
New gdb.base/infoline.exp testcase.
gdb/testsuite/ChangeLog:
* gdb.base/infoline.c, gdb.base/infoline.exp: New files.
Diffstat (limited to 'gdb/testsuite/gdb.base')
-rw-r--r-- | gdb/testsuite/gdb.base/infoline.c | 30 | ||||
-rw-r--r-- | gdb/testsuite/gdb.base/infoline.exp | 30 |
2 files changed, 60 insertions, 0 deletions
diff --git a/gdb/testsuite/gdb.base/infoline.c b/gdb/testsuite/gdb.base/infoline.c new file mode 100644 index 0000000..7b0da2b --- /dev/null +++ b/gdb/testsuite/gdb.base/infoline.c @@ -0,0 +1,30 @@ +/* Copyright 2011 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/>. */ + +int twice (int i) { /* THIS LINE */ + /* We purposefully put the return type, function prototype and + opening curly brace on the same line, in an effort to make sure + that the function prologue would be associated to that line. */ + return 2 * i; +} + +int +main (void) +{ + int t = twice (1); + return 0; +} diff --git a/gdb/testsuite/gdb.base/infoline.exp b/gdb/testsuite/gdb.base/infoline.exp new file mode 100644 index 0000000..41ff894 --- /dev/null +++ b/gdb/testsuite/gdb.base/infoline.exp @@ -0,0 +1,30 @@ +# Copyright (C) 2011 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/>. + +set testfile infoline +set srcfile ${testfile}.c + +if { [prepare_for_testing ${testfile}.exp ${testfile}] } { + return -1 +} + +clean_restart ${testfile} + +# Verify that the "info line" command does not skip function prologues. +# If it did, GDB would tell us that the line we're interested in starts +# at <twice+N> where N is different from zero. +set fun_decl_line [gdb_get_line_number "THIS LINE"] +gdb_test "info line ${srcfile}:${fun_decl_line}" \ + "Line ${fun_decl_line} of \".*${testfile}\.c\" starts at address 0x\[0-9a-f\]+ <twice> and ends at .*" |