diff options
Diffstat (limited to 'gcc/testsuite/g++.old-deja/g++.brendan/complex1.C')
-rw-r--r-- | gcc/testsuite/g++.old-deja/g++.brendan/complex1.C | 29 |
1 files changed, 29 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 000000000..393941f88 --- /dev/null +++ b/gcc/testsuite/g++.old-deja/g++.brendan/complex1.C @@ -0,0 +1,29 @@ +// { dg-do run } +// { dg-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" { +int printf (const char *, ...); +void exit (int); +void abort (void); +} + +__complex__ double cd; + +int one = 1; + +int +main() +{ + cd = 1.0+90i; + cd *= one; + + if (__real__ cd != 1 || __imag__ cd != 90) + abort (); + + exit (0); +} |