This is the mail archive of the egcs@egcs.cygnus.com mailing list for the EGCS project. See the EGCS home page for more information.


[Date Prev][Date Next][Thread Prev][Thread Next]
[Date Index] [Subject Index] [Author Index] [Thread Index]

Re: Bug in libm or libstdc++.



On Mon, 22 Feb 1999, Paul Derbyshire wrote:

> C:\PGD\C++\omega\ofc>gcc ntst.cc -o ntst.exe -Wall -lm -lstdcxx
> c:/djgpp/tmp/cc5PNfut.o(.text+0x51):ntst.cc: undefined reference to
> `atan(long double)'
	
	[ snip ]

> What the hell?

	Is that -really- necessary?  Pipe down, already.

> Stroustrup 3rd Ed definitely informs me that long double overloads for
> these and other functions are supposed to be in either libm or libstdc++.

	Uhhh... if you're referring to page 660 (section 22.3)
	it most certainly does not make any such guarantee with
	regards to -long double- datatypes.

> Using egcs 1.1.1 and the libm and libstdc++ that came with it.

	at least on my box (sparc solaris), libm is vendor provided.

	gnu/include/g++/cmath -does- make reference to the math
	functions that use long doubles for arguments, but I don't
	think any library on my box actually supports them.

	Possibly there for platforms that do?  There for platforms
	that typedef a long double to be the same as a double?

	(nm'ing vendor's libm and stdc++ does not reveal math
	 functions taking long doubles, but possibly some other
	 lib I'm ignoring?  I did find math functions take
	 complex objects as arguments though.)

		-Bob