This is the mail archive of the
cygwin@sources.redhat.com
mailing list for the Cygwin project.
RE: Possible bug: gamma function missing global variable in libm
- To: 'Charles Werner' <cw at gamma-rs dot ch>, cygwin at sourceware dot cygnus dot com
- Subject: RE: Possible bug: gamma function missing global variable in libm
- From: "Robinow, David" <drobinow at dayton dot adroit dot com>
- Date: Mon, 23 Oct 2000 09:25:26 -0400
> I have been attempting to use the gamma functions
> in libm. The following program does not compile:
It appears that it does compile. It doesn't link.
>
> /*** test1.c ****/
> #include <stdlib.h>
> #include <math.h>
>
> int main(void)
> {
> signgam = 0;
> exit(0);
> }
>
> gcc test1.c -lm
>
> $ gcc test1.c -lm
> /c/TEMP/ccQLwcGF.o(.text+0xd):test1.c: undefined reference to
> `signgam'
> collect2: ld returned 1 exit status
>
> Signgam is a global variable required for
> the gamma functions. In the cygwin math.h:
>
> $ grep signgam math.h
>
> math.h:/* The gamma functions use a global variable, signgam. */
> math.h:extern int signgam;
>
> It must be missing from libm.
Not at all. That's the only reason test1.c compiles. math.h tells
the compiler that "signgam" is an int.
Where on your computer do you think "signgam" should be stored?
> This program compiles without difficulty with gcc under Solaris.
As mentioned above, it compiles under Cygwin. Does it link under
Solaris?
--
Want to unsubscribe from this list?
Send a message to cygwin-unsubscribe@sourceware.cygnus.com