aboutsummaryrefslogtreecommitdiff
path: root/gdb/testsuite/gdb.cp/bs15503.cc
diff options
context:
space:
mode:
authorMichael Chastain <mec@google.com>2004-01-08 08:00:55 +0000
committerMichael Chastain <mec@google.com>2004-01-08 08:00:55 +0000
commit0fd3b50324f001af775486119d8cf44721694755 (patch)
tree3c6b645fc7f27bcb81fd165a7c2894a0ed881bed /gdb/testsuite/gdb.cp/bs15503.cc
parent10d1bea8d5777bdf84dac49697e2e613e1da8af5 (diff)
downloadgdb-0fd3b50324f001af775486119d8cf44721694755.zip
gdb-0fd3b50324f001af775486119d8cf44721694755.tar.gz
gdb-0fd3b50324f001af775486119d8cf44721694755.tar.bz2
2004-01-07 Michael Chastain <mec.gnu@mindspring.com>
* gdb.hp/gdb.defects/bs15503.exp: Renamed to gdb.cp/bs15503.exp. * gdb.hp/gdb.defects/bs15503.cc: Renamed to gdb.cp/bs15503.cc.
Diffstat (limited to 'gdb/testsuite/gdb.cp/bs15503.cc')
-rw-r--r--gdb/testsuite/gdb.cp/bs15503.cc52
1 files changed, 52 insertions, 0 deletions
diff --git a/gdb/testsuite/gdb.cp/bs15503.cc b/gdb/testsuite/gdb.cp/bs15503.cc
new file mode 100644
index 0000000..759bc0f
--- /dev/null
+++ b/gdb/testsuite/gdb.cp/bs15503.cc
@@ -0,0 +1,52 @@
+#include <string>
+#include <iostream.h>
+
+template <class T>
+class StringTest {
+public:
+ virtual void runTest();
+ void testFunction();
+};
+
+template <class T>
+void StringTest<T>:: runTest() {
+ testFunction ();
+}
+
+template <class T>
+void StringTest <T>::testFunction() {
+ // initialize s with string literal
+ cout << "in StringTest" << endl;
+ string s("I am a shot string");
+ cout << s << endl;
+
+ // insert 'r' to fix "shot"
+ s.insert(s.begin()+10,'r' );
+ cout << s << endl;
+
+ // concatenate another string
+ s += "and now a longer string";
+ cout << s << endl;
+
+ // find position where blank needs to be inserted
+ string::size_type spos = s.find("and");
+ s.insert(spos, " ");
+ cout << s << endl;
+
+ // erase the concatenated part
+ s.erase(spos);
+ cout << s << endl;
+}
+
+int main() {
+ StringTest<wchar_t> ts;
+ ts.runTest();
+}
+
+/* output:
+I am a shot string
+I am a short string
+I am a short stringand now a longer string
+I am a short string and now a longer string
+I am a short string
+*/