From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 12587 invoked by alias); 16 Dec 2004 21:15:35 -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 12316 invoked by uid 48); 16 Dec 2004 21:15:21 -0000 Date: Thu, 16 Dec 2004 21:15:00 -0000 From: "austern at apple dot com" To: gcc-bugs@gcc.gnu.org Message-ID: <20041216211519.19044.austern@apple.com> Reply-To: gcc-bugzilla@gcc.gnu.org Subject: [Bug c++/19044] New: Alternate asm name for atan ignored when calling __builtin_atan X-Bugzilla-Reason: CC X-SW-Source: 2004-12/txt/msg02433.txt.bz2 List-Id: For atan (and other functions like it), calling __builtin_atan is sometimes supposed to fall back to the library version of atan. In the C++ front end, this interacts poorly with alternate asm names. Consider the following test case: #ifdef __cplusplus extern "C" #endif double atan(double x) __asm("_fancy_atan"); double foo(double x) { return __builtin_atan(x); } When it's compiled as C, it gives the behavior I expect: foo calls _fancy_atan. The C++ front end, however, gets it wrong: we call _atan, ignoring the fact that this function is supposed to have a different assembler name. -- Summary: Alternate asm name for atan ignored when calling __builtin_atan Product: gcc Version: 4.0.0 Status: UNCONFIRMED Severity: normal Priority: P2 Component: c++ AssignedTo: unassigned at gcc dot gnu dot org ReportedBy: austern at apple dot com CC: gcc-bugs at gcc dot gnu dot org GCC build triplet: powerpc-apple-darwin7.6.0 GCC host triplet: powerpc-apple-darwin7.6.0 GCC target triplet: powerpc-apple-darwin7.6.0 http://gcc.gnu.org/bugzilla/show_bug.cgi?id=19044