aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorno-author <no-author@gcc.gnu.org>2002-12-03 06:52:25 +0000
committerno-author <no-author@gcc.gnu.org>2002-12-03 06:52:25 +0000
commit7256c6cdf1e66d4aa97b706a2da12567cb79069b (patch)
tree7f2ed7de474ebc2f8ba9d8e33361d193228c6ba1
parented6c9a7c45a6bc9693224972f0ecf320a473c1d4 (diff)
This commit was manufactured by cvs2svn to create branch
'cygwin-mingw-gcc-3_2_1-branch'. git-svn-id: https://gcc.gnu.org/svn/gcc/branches/cygwin-mingw-gcc-3_2_1-branch@59758 138bc75d-0d04-0410-961f-82ee72b054a4
-rw-r--r--gcc/testsuite/g++.dg/inherit/typedef1.C8
-rw-r--r--gcc/testsuite/g++.dg/inherit/typeinfo1.C18
-rw-r--r--gcc/testsuite/g++.dg/init/string1.C8
-rw-r--r--gcc/testsuite/g++.dg/template/char1.C4
-rw-r--r--gcc/testsuite/g++.dg/template/strlen1.C9
-rw-r--r--gcc/testsuite/g++.dg/template/varmod1.C10
6 files changed, 57 insertions, 0 deletions
diff --git a/gcc/testsuite/g++.dg/inherit/typedef1.C b/gcc/testsuite/g++.dg/inherit/typedef1.C
new file mode 100644
index 00000000000..20da08b2c43
--- /dev/null
+++ b/gcc/testsuite/g++.dg/inherit/typedef1.C
@@ -0,0 +1,8 @@
+namespace NS {
+class X {};
+typedef X Y;
+}
+
+struct Base : virtual public NS::Y {
+ Base() : NS::Y() {}
+};
diff --git a/gcc/testsuite/g++.dg/inherit/typeinfo1.C b/gcc/testsuite/g++.dg/inherit/typeinfo1.C
new file mode 100644
index 00000000000..794776ecbe8
--- /dev/null
+++ b/gcc/testsuite/g++.dg/inherit/typeinfo1.C
@@ -0,0 +1,18 @@
+typedef struct {
+ virtual const char *blah() {
+ return "Heya::blah";
+ }
+} Heya;
+
+struct Grok : public Heya {
+ virtual const char *blah() {
+ return "Grok::blah";
+ }
+};
+
+int main() {
+ Grok *g = new Grok();
+ delete g;
+ return 0;
+}
+
diff --git a/gcc/testsuite/g++.dg/init/string1.C b/gcc/testsuite/g++.dg/init/string1.C
new file mode 100644
index 00000000000..597b8619e72
--- /dev/null
+++ b/gcc/testsuite/g++.dg/init/string1.C
@@ -0,0 +1,8 @@
+extern void f (char*);
+
+extern const char * const target = "foo";
+
+void g ()
+{
+ f (target); // { dg-error "conversion" }
+}
diff --git a/gcc/testsuite/g++.dg/template/char1.C b/gcc/testsuite/g++.dg/template/char1.C
new file mode 100644
index 00000000000..64ffda8fd36
--- /dev/null
+++ b/gcc/testsuite/g++.dg/template/char1.C
@@ -0,0 +1,4 @@
+template <class CharType, CharType line_terminator = 0>
+class String {};
+
+String<char, 255> s;
diff --git a/gcc/testsuite/g++.dg/template/strlen1.C b/gcc/testsuite/g++.dg/template/strlen1.C
new file mode 100644
index 00000000000..ddec51d7b1e
--- /dev/null
+++ b/gcc/testsuite/g++.dg/template/strlen1.C
@@ -0,0 +1,9 @@
+template <typename A1>
+void monk2 (A1) {}
+
+unsigned int strlen (const char*);
+
+void monk ()
+{
+ monk2 (strlen (""));
+}
diff --git a/gcc/testsuite/g++.dg/template/varmod1.C b/gcc/testsuite/g++.dg/template/varmod1.C
new file mode 100644
index 00000000000..0747fe99587
--- /dev/null
+++ b/gcc/testsuite/g++.dg/template/varmod1.C
@@ -0,0 +1,10 @@
+// { dg-options "-w" }
+
+template<typename T> void foo(T);
+
+void bar()
+{
+ int i;
+ int A[i][i];
+ foo(A); // { dg-error "" }
+}