Rts.h and C++ Annoyance

Ashley Yakeley ashley@semantic.org
Sun, 13 Oct 2002 00:46:10 -0700


It seems I can't compile Rts.h as C++ on Linux. Curiously it compiles OK 
on Darwin.

$ gcc -x c -c /usr/lib/ghc-5.04/include/Rts.h
$ gcc -x c++ -c /usr/lib/ghc-5.04/include/Rts.h
In file included from /usr/lib/ghc-5.04/include/Stg.h:210,
                 from /usr/lib/ghc-5.04/include/Rts.h:20:
/usr/lib/ghc-5.04/include/gmp.h:1970: declaration of C function `class 
ostream & operator <<(ostream &, const __mpq_struct *)' conflicts with
/usr/lib/ghc-5.04/include/gmp.h:1969: previous declaration `class ostream 
& operator <<(ostream &, const __mpz_struct *)' here
/usr/lib/ghc-5.04/include/gmp.h:1971: declaration of C function `class 
ostream & operator <<(ostream &, const __mpf_struct *)' conflicts with
/usr/lib/ghc-5.04/include/gmp.h:1970: previous declaration `class ostream 
& operator <<(ostream &, const __mpq_struct *)' here
/usr/lib/ghc-5.04/include/gmp.h:1973: declaration of C function `class 
istream & operator >>(istream &, __mpq_struct *)' conflicts with
/usr/lib/ghc-5.04/include/gmp.h:1972: previous declaration `class istream 
& operator >>(istream &, __mpz_struct *)' here
/usr/lib/ghc-5.04/include/gmp.h:1974: declaration of C function `class 
istream & operator >>(istream &, __mpf_struct *)' conflicts with
/usr/lib/ghc-5.04/include/gmp.h:1973: previous declaration `class istream 
& operator >>(istream &, __mpq_struct *)' here
$ gcc --version
2.95.4
$ ghc --version
The Glorious Glasgow Haskell Compilation System, version 5.04
$ uname -a
Linux server 2.4.18-686 #1 Sun Apr 14 11:32:47 EST 2002 i686 unknown
$


-- 
Ashley Yakeley, Seattle WA