From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: by sourceware.org (Postfix, from userid 48) id 0E9A5384B822; Wed, 17 Mar 2021 20:36:48 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 0E9A5384B822 From: "joseph at codesourcery dot com" To: glibc-bugs@sourceware.org Subject: [Bug build/27596] bits/libc-header-start.h is C++ header-unit unfriendly Date: Wed, 17 Mar 2021 20:36:47 +0000 X-Bugzilla-Reason: CC X-Bugzilla-Type: changed X-Bugzilla-Watch-Reason: None X-Bugzilla-Product: glibc X-Bugzilla-Component: build X-Bugzilla-Version: unspecified X-Bugzilla-Keywords: X-Bugzilla-Severity: normal X-Bugzilla-Who: joseph at codesourcery dot com X-Bugzilla-Status: UNCONFIRMED X-Bugzilla-Resolution: 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: quoted-printable X-Bugzilla-URL: http://sourceware.org/bugzilla/ Auto-Submitted: auto-generated MIME-Version: 1.0 X-BeenThere: glibc-bugs@sourceware.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Glibc-bugs mailing list List-Unsubscribe: , List-Archive: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 17 Mar 2021 20:36:48 -0000 https://sourceware.org/bugzilla/show_bug.cgi?id=3D27596 --- Comment #1 from joseph at codesourcery dot com --- The handling of __GLIBC_INTERNAL_STARTING_HEADER_IMPLEMENTATION is a check= =20 to discourage external users from using something that's not a public API,= =20 rather than something strictly required. bits/libc-header-start.h will produce different macro definitions when=20 included with different feature test macros defined. It's valid for that=20 to occur within the compilation of a single translation unit - for one of=20 the ISO C feature test macros to be defined after some headers have been=20 included and before others are included. The peculiarities of how those=20 ISO C feature test macros are defined are why this header is separate from= =20 features.h and can't have multiple-include protection. If the rules that the definitions from a header depend on what feature=20 test macros were defined when *that header* is first included (as opposed=20 to it being required to define feature test macros before including any=20 standard header, as in POSIX) are problematic for C++, that seems like a=20 good thing to raise on the C/C++ liaison mailing list. Or is the issue=20 only with the particular approach to implementing that requirement, rather= =20 than with the requirement itself? --=20 You are receiving this mail because: You are on the CC list for the bug.=