| delorie.com/archives/browse.cgi | search |
| X-Authentication-Warning: | delorie.com: mail set sender to djgpp-workers-bounces using -f |
| X-Recipient: | djgpp-workers AT delorie DOT com |
| DKIM-Signature: | v=1; a=rsa-sha256; c=relaxed/relaxed; |
| d=gmail.com; s=gamma; | |
| h=mime-version:in-reply-to:references:date:message-id:subject:from:to | |
| :content-type:content-transfer-encoding; | |
| bh=kdvgejM5ZZHJHGqpChtQhUDvvDwgcuABGkPKtChQx+U=; | |
| b=ANCMSvQUCR9rlEiw0eSTmSE6aQdJt8ab53kW4iQybECreL/QuAqPz5Lg6Cd8X3barH | |
| PYhfjQzfamY5slAr7IpbuU9/4qUTy+mzRECpCr/WXQAL9DeoTZ5KYFT5gG+YkzPttJNu | |
| cLNWuPUihx5wBKfgCkE/6NIOhMm7rEYh9K/Is= | |
| MIME-Version: | 1.0 |
| In-Reply-To: | <BANLkTinPMEVyiceCG5QEjRDsTwqWqfUuGg@mail.gmail.com> |
| References: | <BANLkTikW3CVu0QEHyFwgfpvzqNoMR6Tfrg AT mail DOT gmail DOT com> |
| <83tyb6qce3 DOT fsf AT gnu DOT org> | |
| <BANLkTi=q_JbhptgWTi8ZN7mtq9NO9zPX0g AT mail DOT gmail DOT com> | |
| <201107011526 DOT p61FQs24012782 AT envy DOT delorie DOT com> | |
| <BANLkTi=BU4UzOR+RtD9hJRCtKq6eR3AYog AT mail DOT gmail DOT com> | |
| <201107011539 DOT p61FdYjI013658 AT envy DOT delorie DOT com> | |
| <BANLkTi=HfCnAD4WUndyU_bdnP6wXuOPo0A AT mail DOT gmail DOT com> | |
| <201107011548 DOT p61FmWQW014052 AT envy DOT delorie DOT com> | |
| <BANLkTinA0i1sOT4tM4igv6Y1aR+3vdnNJg AT mail DOT gmail DOT com> | |
| <201107011557 DOT p61FvXVP014582 AT envy DOT delorie DOT com> | |
| <BANLkTim-07ErkunBix8U46KYFF497HKAPA AT mail DOT gmail DOT com> | |
| <201107011614 DOT p61GEu8r015173 AT envy DOT delorie DOT com> | |
| <4E0DFC80 DOT 2070607 AT iki DOT fi> | |
| <BANLkTinPMEVyiceCG5QEjRDsTwqWqfUuGg AT mail DOT gmail DOT com> | |
| Date: | Fri, 1 Jul 2011 20:33:18 +0300 |
| Message-ID: | <BANLkTi=+dUg8py11+BweccQtUdum1pxApA@mail.gmail.com> |
| Subject: | Re: gcc-4.4: conflicting types for built-in function 'cabs' and 'cabsf' |
| From: | Ozkan Sezer <sezeroz AT gmail DOT com> |
| To: | djgpp-workers AT delorie DOT com |
| X-MIME-Autoconverted: | from quoted-printable to 8bit by delorie.com id p61HXOgs026540 |
| Reply-To: | djgpp-workers AT delorie DOT com |
| Errors-To: | nobody AT delorie DOT com |
| X-Mailing-List: | djgpp-workers AT delorie DOT com |
| X-Unsubscribes-To: | listserv AT delorie DOT com |
On Fri, Jul 1, 2011 at 8:10 PM, Ozkan Sezer <sezeroz AT gmail DOT com> wrote:
> On Fri, Jul 1, 2011 at 7:57 PM, Andris Pavenis <andris DOT pavenis AT iki DOT fi> wrote:
>> On 07/01/2011 07:14 PM, DJ Delorie wrote:
>>>
>>> Could you check the other prototypes too, and see if any othes aren't
>>> needed?
>>>
>>> Maybe we should just comment them out for now, in case someone wants
>>> to add them back in later, with a comment about this discussion...
>>
>> From build directory of gcc-4.6.1 for DJGPP v2.04:
>>
>> [andris AT ap2 .libs]$ i586-pc-msdosdjgpp-nm libgfortran.a | grep cabs
>> U _cabs
>> U _cabsf
>> U _cabsf
>> U _cabs
>> U _cabsf
>>
>
>
> Ah, sorry that I missed that
>
>
>> Removal would break FORTRAN support.
>>
>
>
> Then building them should be fixed.
>
Possibly something like the following:
Index: src/libm/math/w_cabs.c
===================================================================
RCS file: /cvs/djgpp/djgpp/src/libm/math/w_cabs.c,v
retrieving revision 1.3
diff -u -p -r1.3 w_cabs.c
--- src/libm/math/w_cabs.c 14 Dec 1999 12:01:34 -0000 1.3
+++ src/libm/math/w_cabs.c 1 Jul 2011 17:22:50 -0000
@@ -15,12 +15,14 @@ struct complex {
};
#ifdef __STDC__
-double cabs(struct complex);
-double cabs(struct complex z)
+double __dj_cabs(struct complex);
+double __dj_cabs(struct complex z)
#else
-double cabs(z)
+double __dj_cabs(z)
struct complex z;
#endif
{
return hypot(z.x, z.y);
}
+
+double __attribute__ ((alias ("__dj_cabs"))) cabs (double _Complex);
Index: src/libm/math/wf_cabs.c
===================================================================
RCS file: /cvs/djgpp/djgpp/src/libm/math/wf_cabs.c,v
retrieving revision 1.3
diff -u -p -r1.3 wf_cabs.c
--- src/libm/math/wf_cabs.c 14 Dec 1999 12:01:34 -0000 1.3
+++ src/libm/math/wf_cabs.c 1 Jul 2011 17:22:50 -0000
@@ -15,12 +15,14 @@ struct complex {
};
#ifdef __STDC__
-float cabsf(struct complex);
-float cabsf(struct complex z)
+float __dj_cabsf(struct complex);
+float __dj_cabsf(struct complex z)
#else
-float cabsf(z)
+float __dj_cabsf(z)
struct complex z;
#endif
{
return hypotf(z.x, z.y);
}
+
+float __attribute__ ((alias ("__dj_cabsf"))) cabsf (float _Complex);
Yes, I know that this needs ifdefs against several gcc versions.
(I can't remember when gcc started providing complex builtins..)
--
O.S.
| webmaster | delorie software privacy |
| Copyright © 2019 by DJ Delorie | Updated Jul 2019 |