This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
g++ tests
- To: egcs-patches at egcs dot cygnus dot com
- Subject: g++ tests
- From: Jeffrey A Law <law at upchuck dot cygnus dot com>
- Date: Wed, 07 Apr 1999 05:19:09 -0600
- Reply-To: law at cygnus dot com
These somehow did not get added to the "g++.brendan" tests. I've added
them.
*** /dev/null Wed Apr 7 05:15:56 1999
--- complex1.C Tue Apr 6 02:43:10 1999
***************
*** 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);
+ }
*** /dev/null Wed Apr 7 05:15:56 1999
--- def-args1.C Tue Apr 6 02:43:10 1999
***************
*** 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());
+ };
*** /dev/null Wed Apr 7 05:15:56 1999
--- template31.C Tue Apr 6 02:43:10 1999
***************
*** 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;