an "INTERNAL" in egcs-1.1 release:complex from f2c.h conflicts with std::complex<double>

Alexandre Oliva oliva@dcc.unicamp.br
Tue Sep 22 16:36:00 GMT 1998


Tobias Naehring <naehring@eeetw3.et.tu-dresden.de> writes:

> // Next line is part of f2c.h. f2c.h is often included into my programs.
> typedef struct { float r, i; } complex;
> void main() { std::complex<double> number(1,0); }

> gcc version egcs-2.91.57 19980901 (egcs-1.1 release)
> first.cc: In function `int main(...)':
> first.cc:10: Internal compiler error 42.
> first.cc:10: Please submit a full bug report to `egcs-bugs@cygnus.com'.

Note that you haven't included <complex>, so template std::complex is
not defined.  No excuse for an ICE, though.

Anyway, if you #include <complex>, you'll still get template complex
declared in the global namespace, even if you compile with
-fhonor-std.  std/complext.h is not namespace-aware yet.
Contributions are welcome :-)

-- 
Alexandre Oliva
mailto:oliva@dcc.unicamp.br mailto:aoliva@acm.org
http://www.dcc.unicamp.br/~oliva
Universidade Estadual de Campinas, SP, Brasil




More information about the Gcc-bugs mailing list