Using 'complex.h' and GCC-3.4.4-3 in Cygwin

2007-07-26 Thread Angelo Graziosi

On Cygwin, gcc-3.4.4-3 (curr) fails to compile this simple test case
(extracted by a little elaborate test) :

==
#include stdio.h
#include stdint.h
#include complex.h
#include stdbool.h

int main()
{
   printf(sizeof(%s) = %ld\n,   complex float, sizeof(float complex));

   return 0;
}


$ gcc test_complex_h.c
test_complex_h.c:3:21: complex.h: No such file or directory
     ???

test_complex_h.c: In function `main':
test_complex_h.c:8: error: parse error before complex
==

On GNU/Linux Kubunto 6.06 with gcc-4.0.3 it is build without problems.


Cheers,

   Angelo.

--
Unsubscribe info:  http://cygwin.com/ml/#unsubscribe-simple
Problem reports:   http://cygwin.com/problems.html
Documentation: http://cygwin.com/docs.html
FAQ:   http://cygwin.com/faq/



Re: Using 'complex.h' and GCC-3.4.4-3 in Cygwin

2007-07-26 Thread David A. Case
On Thu, Jul 26, 2007, Greg Chicares wrote:

  $ gcc test_complex_h.c
  test_complex_h.c:3:21: complex.h: No such file or directory
 
 I suppose newlib doesn't provide a full C99 implementation yet.

I've had good luck with the c9x-complex package:

http://www.moshier.net/c9x_readme.html

Of course, you should test carefully yourself, but for me this provides
a complex.h header and the associated functions that seem to work fine
with cygwin.

...dave case


--
Unsubscribe info:  http://cygwin.com/ml/#unsubscribe-simple
Problem reports:   http://cygwin.com/problems.html
Documentation: http://cygwin.com/docs.html
FAQ:   http://cygwin.com/faq/



Re: Using 'complex.h' and GCC-3.4.4-3 in Cygwin

2007-07-26 Thread Greg Chicares
On 2007-07-26 10:16Z, Angelo Graziosi wrote:
 On Cygwin, gcc-3.4.4-3 (curr) fails to compile this simple test case
[...]
 $ gcc test_complex_h.c
 test_complex_h.c:3:21: complex.h: No such file or directory

I suppose newlib doesn't provide a full C99 implementation yet.
This message would seem to confirm that:
  http://www.cygwin.com/ml/cygwin/2006-07/msg00758.html

 test_complex_h.c: In function `main':
 test_complex_h.c:8: error: parse error before complex

If you change that line this way:

- printf(sizeof(%s) = %ld\n,   complex float, sizeof(float complex));
+ printf(sizeof(%s) = %ld\n,   complex float, sizeof(float _Complex));

then it compiles, and running it gives
  sizeof(complex float) = 8
so gcc has some support built in, though the C library doesn't
implement the macro defined in C99 7.3.1/2 . It seems to be
lacking the complex functions, too: I get
  undefined reference to `_cexpf'
if I try to use cexpf() by providing my own prototype.

--
Unsubscribe info:  http://cygwin.com/ml/#unsubscribe-simple
Problem reports:   http://cygwin.com/problems.html
Documentation: http://cygwin.com/docs.html
FAQ:   http://cygwin.com/faq/