From 76c9b2fec89de5eb9d7445327d8cd7953e6d6a7f Mon Sep 17 00:00:00 2001 From: Jeff Law Date: Tue, 6 Apr 1999 22:29:03 -0600 Subject: [PATCH] Add new tests. From-SVN: r26239 --- .../g++.old-deja/g++.brendan/complex1.C | 22 +++++++++++ .../g++.old-deja/g++.brendan/def-args1.C | 9 +++++ .../g++.old-deja/g++.brendan/template31.C | 38 +++++++++++++++++++ 3 files changed, 69 insertions(+) create mode 100644 gcc/testsuite/g++.old-deja/g++.brendan/complex1.C create mode 100644 gcc/testsuite/g++.old-deja/g++.brendan/def-args1.C create mode 100644 gcc/testsuite/g++.old-deja/g++.brendan/template31.C 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 struct A { + int* p; + A() : p(ip) {} +}; + +template 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; -- 2.30.2