Subject: 2.0 double definition in math.h
To: None <current-users@netbsd.org>
From: =?ISO-8859-1?Q?C=E9sar_Catri=E1n?= C. <ccatrian@eml.cc>
List: current-users
Date: 08/28/2004 00:07:30
hi
I had this problem trying to build a package.
In file included from /usr/include/g++/cmath:51,
from /usr/include/g++/bits/locale_facets.tcc:41,
from /usr/include/g++/locale:47,
from /usr/include/g++/bits/istream.tcc:37,
from /usr/include/g++/istream:768,
from /usr/include/g++/sstream:44,
from anytype.h:23,
from CNestedDataFile.h:135,
from CNestedDataFile.cpp:35:
/usr/include/math.h:384: error: declaration of C function `float rintf(floa=
t)'=20
conflicts with
/usr/include/math.h:258: error: previous declaration `double rintf(double)'=
=20
here
-- This is the line 384
/*
* Float versions of functions callable from C, intended to support
* IEEE arithmetic.
*/
float copysignf __P((float, float));
int ilogbf __P((float));
float rintf __P((float));
float scalbnf __P((float, int));
-- and this is the line 258
/* 7.12.3.6 int signbit(real-floating x) */
#define signbit(__x) __fpmacro_unary_floating(signbit, __x)
double round __P((double));
float roundf __P((float));
#endif /* !_ANSI_SOURCE && ... */
=20
#if !defined(_ANSI_SOURCE) && !defined(_POSIX_C_SOURCE) || \
!defined(_XOPEN_SOURCE) || \
((__STDC_VERSION__ - 0) >=3D 199901L) || \=20
((_POSIX_C_SOURCE - 0) >=3D 200112L) || \
defined(_ISOC99_SOURCE) || defined(_NETBSD_SOURCE)
why double round __P((double)); was replaced by double rintf(double) at com=
pile time? I don't know.
regards
C=E9sar Catri=E1n C.