ieeefp.h: C++ guards

Jeff Johnston jjohnstn@redhat.com
Mon Nov 7 17:00:00 GMT 2005


Corinna Vinschen wrote:
> On Nov  6 16:41, Yaakov S (Cygwin Ports) wrote:
> 
>>The ieeefp.h header does not contain C++ guards.  Is there a reason for
>>this?
>>
>>This particularly affects C++ perl extensions, as perl.h includes
>>ieeefp.h, although I just ran across another, non-perl case where it
>>caused a compilation error.
>>
>>
>>Yaakov
> 
> 
> This is a newlib issue since ieeefp.h is a newlib header file.  I've
> redirected to the newlib list.  A patch like the below should do the
> trick.  Jeff?
>

Seems very sensible considering that a number of the identifiers are 
also declared in math.h and protected there (e.g. isnan).

-- Jeff J.

> 
> Corinna
> 
> 	* libc/include/ieeefp.h: Add C++ guards.
> 
> 
> Index: libc/include/ieeefp.h
> ===================================================================
> RCS file: /cvs/src/src/newlib/libc/include/ieeefp.h,v
> retrieving revision 1.1.1.1
> diff -u -p -r1.1.1.1 ieeefp.h
> --- libc/include/ieeefp.h       17 Feb 2000 19:39:46 -0000      1.1.1.1
> +++ libc/include/ieeefp.h       7 Nov 2005 16:26:24 -0000
> @@ -5,6 +5,8 @@
>  
>  #include <machine/ieeefp.h>
>  
> +#define _BEGIN_STD_C
> +
>  /* FIXME FIXME FIXME:
>     Neither of __ieee_{float,double}_shape_tape seem to be used anywhere
>     except in libm/test.  If that is the case, please delete these from here.
> @@ -238,4 +240,6 @@ int _EXFUN(finitef, (float));
>  
>  #endif /* _DOUBLE_IS_32BITS */
>  
> +#define _END_STD_C
> +
>  #endif /* _IEEE_FP_H_ */
> 
> 



More information about the Newlib mailing list