From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 25752 invoked by alias); 17 Mar 2004 09:50:27 -0000 Mailing-List: contact gcc-bugs-help@gcc.gnu.org; run by ezmlm Precedence: bulk List-Archive: List-Post: List-Help: Sender: gcc-bugs-owner@gcc.gnu.org Received: (qmail 25732 invoked by alias); 17 Mar 2004 09:50:25 -0000 Date: Wed, 17 Mar 2004 09:50:00 -0000 Message-ID: <20040317095025.25731.qmail@sources.redhat.com> From: "zack at codesourcery dot com" To: gcc-bugs@gcc.gnu.org In-Reply-To: <20040316182307.14608.zack@gcc.gnu.org> References: <20040316182307.14608.zack@gcc.gnu.org> Reply-To: gcc-bugzilla@gcc.gnu.org Subject: [Bug libstdc++/14608] nukes isfinite macro from X-Bugzilla-Reason: CC X-SW-Source: 2004-03/txt/msg02076.txt.bz2 List-Id: ------- Additional Comments From zack at codesourcery dot com 2004-03-17 09:50 ------- Subject: (PR 14608) [Dennis Handly] RE: Problem with GCC/G++ on HP-UX - v3.3.2prerelease - iostream/math.h Further comments from the customer ... >From: "Zack Weinberg" >Dennis is not far off. What's happening is that includes >. includes and then #undefs a bunch of macros >that a strict reading of C++98 disallows, including "isfinite". Strict reading of C++98 would also disallow you undefing user macros just to make the namespace clean. I.e. suppose the user defined isfinite and you undefed it. And if _HPUX_SOURCE is defined, (to get isfinite) you shouldn't undef it. Unless you are very clever and check the definition before you include and only undef it if it wasn't defined. Basically HP-UX never has defined a C++ clean namespace and unless you can get the HP-UX people involved, you doing it by yourself is a lost cause. -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=14608