* gdb.cp/templates.cc (GetMax): New template.
authorJerome Guitton <guitton@adacore.com>
Mon, 27 Apr 2009 12:14:09 +0000 (12:14 +0000)
committerJerome Guitton <guitton@adacore.com>
Mon, 27 Apr 2009 12:14:09 +0000 (12:14 +0000)
(main): Declare two instances of GetMax.
* gdb.cp/templates.exp: Add new test.

gdb/testsuite/ChangeLog
gdb/testsuite/gdb.cp/templates.cc
gdb/testsuite/gdb.cp/templates.exp

index fac1f1970c341ab7024f9fa634ce66432761ccf3..694d4adc1df70869d43fb08bc3769743c7bc80f6 100644 (file)
@@ -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.
index c13f18b643fa09914c58173aba70eaf5c29a9924..a04d76866fa68b174787f19937d41ccdcc60cf27 100644 (file)
@@ -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;
     
index f49caffc6fe30b3e184682ab5aed8d5ea07a4b3f..541bdcb7bf14273e542b01a2c71e904cf7ec5cef 100644 (file)
@@ -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
 }