From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 18764 invoked by alias); 21 Jun 2010 14:44:57 -0000 Received: (qmail 18655 invoked by uid 48); 21 Jun 2010 14:44:47 -0000 Date: Mon, 21 Jun 2010 14:44:00 -0000 Message-ID: <20100621144447.18654.qmail@sourceware.org> X-Bugzilla-Reason: CC References: Subject: [Bug c++/44611] Including and hides ::signbit function In-Reply-To: Reply-To: gcc-bugzilla@gcc.gnu.org To: gcc-bugs@gcc.gnu.org From: "paolo dot carlini at oracle dot com" Mailing-List: contact gcc-bugs-help@gcc.gnu.org; run by ezmlm Precedence: bulk List-Id: List-Archive: List-Post: List-Help: Sender: gcc-bugs-owner@gcc.gnu.org X-SW-Source: 2010-06/txt/msg02049.txt.bz2 ------- Comment #4 from paolo dot carlini at oracle dot com 2010-06-21 14:44 ------- I don't think signbit is special: including *any* header first undefs the names, thus if they are defined as macros in C, you don't see them anymore in the global namespace, only in std::. If, on the other hand, your specific point is one about the C99 classification macros, yes those are enabled by default, can be disabled at library configure time with --disable-c99. In fact the issue whether C99 facilities should be enabled by default in c++98 mode is a very old one, you can find traces of it in bugzilla for sure, and now is definitely *way too old* to change our decision, considering that all of that is standard in c++0x, which is behind the corner. -- paolo dot carlini at oracle dot com changed: What |Removed |Added ---------------------------------------------------------------------------- Summary|Including and |Including and | hides ::signbit | hides ::signbit |function |function http://gcc.gnu.org/bugzilla/show_bug.cgi?id=44611