guile-user
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Guile 1.8.2 Compile Error [GAH]


From: Kevin Brott
Subject: Re: Guile 1.8.2 Compile Error [GAH]
Date: Wed, 14 Nov 2007 10:37:01 -0800

On Wed, 2007-11-14 at 09:59 -0800, Kevin Brott wrote:

> No - it bombs out now, trying to compile numbers.c  with this error:
> 
> numbers.c: In function 'scm_exp':
> numbers.c:6081: error: '__I' undeclared (first use in this function)
> numbers.c:6081: error: (Each undeclared identifier is reported only once
> numbers.c:6081: error: for each function it appears in.)
> 
> And I'm trying to work out where that __I is hiding.
> 

Found where it's manifesting, now to figure out why ... from the
guile-1.8.3 directory, if I do:

  cpp -I. -DHAVE_CONFIG_H libguile/numbers.c -o foo.cpp

I find that this line in numbers.c

6081: return scm_from_complex_double (cexp (SCM_COMPLEX_VALUE (z)));

expands to this:

      return scm_from_complex_double (cexp (((((scm_t_complex *)
((((scm_t_bits) (0? (*(SCM*)0=((((SCM *)((scm_t_cell *) (((scm_t_bits)
(0? (*(SCM*)0=((((z))))): (((z)))))))) [((1))]))): (((SCM *)((scm_t_cell
*) (((scm_t_bits) (0? (*(SCM*)0=((((z))))): (((z))))))))
[((1))]))))))->real) + __I * (((scm_t_complex *) ((((scm_t_bits) (0?
(*(SCM*)0=((((SCM *)((scm_t_cell *) (((scm_t_bits) (0?
(*(SCM*)0=((((z))))): (((z)))))))) [((1))]))): (((SCM *)((scm_t_cell *)
(((scm_t_bits) (0? (*(SCM*)0=((((z))))): (((z))))))))
[((1))]))))))->imag))));

So hunting back to where SCM_COMPLEX_VALUE is defined in numbers.c, we
get
    168 #define SCM_COMPLEX_VALUE(z) \
    169   (SCM_COMPLEX_REAL (z) + _Complex_I * SCM_COMPLEX_IMAG (z))

So it looks like _Complex_I is rendering as __I - and that prpbably
isn't correct.

-- 
#include <stddisclaimer.h>
/* Kevin Brott <address@hidden> 
 * Unix Systems Engineer - SA Group - Provtech
 * Providence Health Systems, Tigard, OR
 */


DISCLAIMER:
This message is intended for the sole use of the addressee, and may contain 
information that is privileged, confidential and exempt from disclosure under 
applicable law. If you are not the addressee you are hereby notified that you 
may not use, copy, disclose, or distribute to anyone the message or any 
information contained in the message. If you have received this message in 
error, please immediately advise the sender by reply email and delete this 
message.




reply via email to

[Prev in Thread] Current Thread [Next in Thread]