From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 1737 invoked by alias); 6 Jul 2013 20:58:31 -0000 Mailing-List: contact glibc-bugs-help@sourceware.org; run by ezmlm Precedence: bulk List-Id: List-Subscribe: List-Post: List-Help: , Sender: glibc-bugs-owner@sourceware.org Received: (qmail 1701 invoked by uid 55); 6 Jul 2013 20:58:25 -0000 From: "joseph at codesourcery dot com" To: glibc-bugs@sourceware.org Subject: [Bug libc/15720] stdc-predef.h wrongly defines __STDC_IEC_559_COMPLEX__ Date: Sat, 06 Jul 2013 20:58:00 -0000 X-Bugzilla-Reason: CC X-Bugzilla-Type: changed X-Bugzilla-Watch-Reason: None X-Bugzilla-Product: glibc X-Bugzilla-Component: libc X-Bugzilla-Version: unspecified X-Bugzilla-Keywords: X-Bugzilla-Severity: normal X-Bugzilla-Who: joseph at codesourcery dot com X-Bugzilla-Status: NEW X-Bugzilla-Priority: P2 X-Bugzilla-Assigned-To: unassigned at sourceware dot org X-Bugzilla-Target-Milestone: --- X-Bugzilla-Flags: X-Bugzilla-Changed-Fields: Message-ID: In-Reply-To: References: Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: 7bit X-Bugzilla-URL: http://sourceware.org/bugzilla/ Auto-Submitted: auto-generated MIME-Version: 1.0 X-SW-Source: 2013-07/txt/msg00025.txt.bz2 http://sourceware.org/bugzilla/show_bug.cgi?id=15720 --- Comment #1 from joseph at codesourcery dot com --- I think this is no different from defining __STDC__ in GCC's default mode, or defining __STDC_VERSION__ to indicate the selected standards mode rather than to indicate full conformance to a particular standard version. That is, it indicates intent rather than completeness (for example, special cases of functions try to follow Annex G). The main issue with implementing _Imaginary support in GCC would be avoiding the ABI mess that arose from supporting complex numbers on all targets without any thought about what the ABIs for argument passing and return should be. That is, it would be appropriate to disable it except for targets enabling it by a target hook that means any necessary target-specific ABI work has been done including coordinating with anyone responsible for the architecture ABI definition. (Saying that imaginary types are passed like the corresponding real types is a tempting default - except that float _Imaginary does *not* promote to double _Imaginary when passed in variable arguments, so an unpromoted float _Imaginary could be passed there where an unpromoted float never could.) -- You are receiving this mail because: You are on the CC list for the bug.