This is the mail archive of the
libc-alpha@sourceware.cygnus.com
mailing list for the glibc project.
Re: union definition error in sysdeps/i386/fpu/bits/mathinline.h
- To: sean dot chen at turbolinux dot com
- Subject: Re: union definition error in sysdeps/i386/fpu/bits/mathinline.h
- From: Andreas Jaeger <aj at suse dot de>
- Date: 06 Mar 2000 18:32:50 +0100
- Cc: libc-alpha at sourceware dot cygnus dot com
- References: <200003060745.PAA00856@cat.tlc.com.cn>
>>>>> sean chen writes:
>> Submitter-Id: net
>> Originator: Sean Chen
>> Organization: TurboLinux, Inc.
>> Confidential: no
>> Synopsis: union definition error in sysdeps/i386/fpu/bits/mathinline.h
> ChangeLog:
> * sysdeps/i386/fpu/bits/mathinline.h: Fix union definition error
> in __sgn1l, otherwise g++ fails to parse this.
> Reported by Sean Chen <sean.chen@turbolinux.com>.
Thanks, I've applied this now to CVS. All other occurences of unions
in mathinline.h already use the __xld: syntax.
Andreas
> Patch:
> --- sysdeps/i386/fpu/bits/mathinline.h.old Tue Feb 29 11:04:25 2000
> +++ sysdeps/i386/fpu/bits/mathinline.h Mon Mar 6 14:55:29 2000
> @@ -455,7 +455,7 @@
> __inline_mathcode (acos, __x, return __atan2l (__sqrtl (1.0 - __x * __x), __x))
> __inline_mathcode_ (long double, __sgn1l, __x, \
> - union { long double __xld; unsigned int __xi[3]; } __n = { .__xld = __x }; \
> + union { long double __xld; unsigned int __xi[3]; } __n = { __xld: __x }; \
> __n.__xi[2] = (__n.__xi[2] & 0x8000) | 0x3fff; \
> __n.__xi[1] = 0x80000000; \
> __n.__xi[0] = 0; \
--
Andreas Jaeger
SuSE Labs aj@suse.de
private aj@arthur.rhein-neckar.de