]> git.ipfire.org Git - thirdparty/gcc.git/commitdiff
Add new tests.
authorJeff Law <law@gcc.gnu.org>
Wed, 7 Apr 1999 04:29:03 +0000 (22:29 -0600)
committerJeff Law <law@gcc.gnu.org>
Wed, 7 Apr 1999 04:29:03 +0000 (22:29 -0600)
From-SVN: r26239

gcc/testsuite/g++.old-deja/g++.brendan/complex1.C [new file with mode: 0644]
gcc/testsuite/g++.old-deja/g++.brendan/def-args1.C [new file with mode: 0644]
gcc/testsuite/g++.old-deja/g++.brendan/template31.C [new file with mode: 0644]

diff --git a/gcc/testsuite/g++.old-deja/g++.brendan/complex1.C b/gcc/testsuite/g++.old-deja/g++.brendan/complex1.C
new file mode 100644 (file)
index 0000000..908b4ca
--- /dev/null
@@ -0,0 +1,22 @@
+// Special g++ Options:
+
+// This test makes sure that the stuff in lex.c (real_yylex) is
+// set up to handle real and imag numbers correctly.  This test is against
+// a bug where the compiler was not converting the integer `90' to a
+// complex number, unless you did `90.0'.  Fixed 10/1/1997.
+
+extern "C" void printf (char *, ...);
+
+__complex__ double cd;
+
+int
+main(int argc, char *argv[])
+{
+  cd = 1.0+90i;
+  cd *= argc;
+
+  if (__real__ cd != 1 || __imag__ cd != 90)
+    exit (1);
+
+  exit (0);
+}
diff --git a/gcc/testsuite/g++.old-deja/g++.brendan/def-args1.C b/gcc/testsuite/g++.old-deja/g++.brendan/def-args1.C
new file mode 100644 (file)
index 0000000..55efc52
--- /dev/null
@@ -0,0 +1,9 @@
+// Build don't link: 
+// PRMS Id: 10860
+class Beige
+{
+public:
+    static int yellow();
+    void white(int green = yellow());
+    void aqua(int green = Beige::yellow());
+};
diff --git a/gcc/testsuite/g++.old-deja/g++.brendan/template31.C b/gcc/testsuite/g++.old-deja/g++.brendan/template31.C
new file mode 100644 (file)
index 0000000..3a1b149
--- /dev/null
@@ -0,0 +1,38 @@
+// Build don't link: 
+// GROUPS passed templates
+// PRMS Id: 13218
+
+struct C {
+        int x;
+        char y;
+        double z;
+};
+C c02;
+
+template <int* ip> struct A {
+        int* p;
+        A() : p(ip) {}
+};
+
+template <C* cp> struct B {
+        C* p;
+        B() : p(cp) {}
+};
+
+int i00;
+
+int main(void)
+{
+        A<&i00> a00;
+
+        extern int i01;
+        A<&i01> a01;
+
+        B<&c02> b02;
+
+        extern C c03;
+        B<&c03> b03;
+}
+
+int i01;
+C c03;