aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJeffrey A Law <law@cygnus.com>1999-04-07 04:29:03 +0000
committerJeffrey A Law <law@cygnus.com>1999-04-07 04:29:03 +0000
commit71d7169400ed65454cae6dd96eb7050a75073832 (patch)
tree4fc2ecad7c0c8f0374fec94a829f0bbcb8110e8e
parent1da7b510710701e98f09193994cf88f1c18601cf (diff)
Add new tests.
git-svn-id: https://gcc.gnu.org/svn/gcc/trunk@26239 138bc75d-0d04-0410-961f-82ee72b054a4
-rw-r--r--gcc/testsuite/g++.old-deja/g++.brendan/complex1.C22
-rw-r--r--gcc/testsuite/g++.old-deja/g++.brendan/def-args1.C9
-rw-r--r--gcc/testsuite/g++.old-deja/g++.brendan/template31.C38
3 files changed, 69 insertions, 0 deletions
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
index 00000000000..908b4ca5f90
--- /dev/null
+++ b/gcc/testsuite/g++.old-deja/g++.brendan/complex1.C
@@ -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
index 00000000000..55efc52e334
--- /dev/null
+++ b/gcc/testsuite/g++.old-deja/g++.brendan/def-args1.C
@@ -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
index 00000000000..3a1b149fb93
--- /dev/null
+++ b/gcc/testsuite/g++.old-deja/g++.brendan/template31.C
@@ -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;