diff options
Diffstat (limited to 'gdb')
-rw-r--r-- | gdb/testsuite/ChangeLog | 6 | ||||
-rw-r--r-- | gdb/testsuite/gdb.cp/templates.cc | 10 | ||||
-rw-r--r-- | gdb/testsuite/gdb.cp/templates.exp | 5 |
3 files changed, 21 insertions, 0 deletions
diff --git a/gdb/testsuite/ChangeLog b/gdb/testsuite/ChangeLog index fac1f19..694d4ad 100644 --- a/gdb/testsuite/ChangeLog +++ b/gdb/testsuite/ChangeLog @@ -1,3 +1,9 @@ +2009-04-27 Jerome Guitton <guitton@adacore.com> + + * gdb.cp/templates.cc (GetMax): New template. + (main): Declare two instances of GetMax. + * gdb.cp/templates.exp: Add new test. + 2009-04-27 Jan Kratochvil <jan.kratochvil@redhat.com> * gdb.cp/abstract-origin.exp, gdb.cp/abstract-origin.cc: New test. diff --git a/gdb/testsuite/gdb.cp/templates.cc b/gdb/testsuite/gdb.cp/templates.cc index c13f18b..a04d768 100644 --- a/gdb/testsuite/gdb.cp/templates.cc +++ b/gdb/testsuite/gdb.cp/templates.cc @@ -492,6 +492,13 @@ int T5<T>::value() { return val; } +template <class T> +T GetMax (T a, T b) { + T result; + result = (a>b)? a : b; + // set breakpoint on a line with no real code + return (result); +} #if ! defined(__GNUC__) || defined(GCC_BUG) template<class T> @@ -706,6 +713,7 @@ template<class T> T Garply<T>::garply (int i, T tt) int main() { int i; + long l, m, n; #ifdef usestubs set_debug_traps(); breakpoint(); @@ -766,6 +774,8 @@ int main() y = x + fc.x; + i=GetMax<int>(x,y); + n=GetMax<long>(l,m); return 0; diff --git a/gdb/testsuite/gdb.cp/templates.exp b/gdb/testsuite/gdb.cp/templates.exp index f49caff..541bdcb 100644 --- a/gdb/testsuite/gdb.cp/templates.exp +++ b/gdb/testsuite/gdb.cp/templates.exp @@ -157,6 +157,11 @@ proc test_template_breakpoints {} { "Breakpoint.*at.* file .*${testfile}.cc, line.*" \ "value method breakpoint" + set bp_location [gdb_get_line_number \ + "set breakpoint on a line with no real code"] + gdb_test "break ${testfile}.cc:${bp_location}" \ + "Breakpoint.*at.* file .*${testfile}.cc, line.*(2 locations).*" \ + "breakpoint on a line with no real code" delete_breakpoints } |