From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 7145 invoked by alias); 2 May 2002 16:06:03 -0000 Mailing-List: contact gcc-prs-help@gcc.gnu.org; run by ezmlm Precedence: bulk List-Archive: List-Post: List-Help: Sender: gcc-prs-owner@gcc.gnu.org Received: (qmail 7113 invoked by uid 71); 2 May 2002 16:06:01 -0000 Resent-Date: 2 May 2002 16:06:01 -0000 Resent-Message-ID: <20020502160601.7112.qmail@sources.redhat.com> Resent-From: gcc-gnats@gcc.gnu.org (GNATS Filer) Resent-To: nobody@gcc.gnu.org Resent-Cc: gcc-prs@gcc.gnu.org, gcc-bugs@gcc.gnu.org, davem@redhat.com Resent-Reply-To: gcc-gnats@gcc.gnu.org, ghazi@caip.rutgers.edu Received:(qmail 1326 invoked by uid 61); 2 May 2002 15:56:36 -0000 Message-Id:<20020502155636.1325.qmail@sources.redhat.com> Date: Thu, 02 May 2002 09:06:00 -0000 From: ghazi@caip.rutgers.edu Reply-To: ghazi@caip.rutgers.edu To: gcc-gnats@gcc.gnu.org Cc: davem@redhat.com X-Send-Pr-Version:gnatsweb-2.9.3 (1.1.1.1.2.31) X-GNATS-Notify:davem@redhat.com Subject: target/6540: sparc-sun-solaris2.7 (perhaps all bi-arch sparc) fail libstdc++-v3 18_support/numeric_limits.cc X-SW-Source: 2002-05/txt/msg00043.txt.bz2 List-Id: >Number: 6540 >Category: target >Synopsis: sparc-sun-solaris2.7 (perhaps all bi-arch sparc) fail libstdc++-v3 18_support/numeric_limits.cc >Confidential: no >Severity: serious >Priority: medium >Responsible: unassigned >State: open >Class: sw-bug >Submitter-Id: net >Arrival-Date: Thu May 02 09:06:00 PDT 2002 >Closed-Date: >Last-Modified: >Originator: Kaveh Ghazi >Release: gcc version 3.1 20020501 (prerelease) >Organization: >Environment: sparc-sun-solaris2.7 native as/ld >Description: The libstdc++-v3 test 18_support/numeric_limits.cc fails on sparc-sun-solaris2.7 for -m32 but succeeds for -m64 as seen here: http://gcc.gnu.org/ml/gcc-testresults/2002-05/msg00028.html http://gcc.gnu.org/ml/gcc-testresults/2002-05/msg00048.html It passes on sparcv9: http://gcc.gnu.org/ml/gcc-testresults/2002-05/msg00003.html On my solaris2.7 system, it fails on the long double test_extrema. I tracked this down to the definition of LDBL_MIN/LDBL_MAX from gcc/config/float-sparc.h. In there, we define a 128 bit LDBL_* only if sparcv9 or arch64 are defined. However sol2-bi.h hardcodes LONG_DOUBLE_TYPE_SIZE to 128. So this is really a bug in the float.h that gets generated for solaris2.7. Using this program to demonstrate: #include #include int main() { long double min = LDBL_MIN, max = LDBL_MAX; printf ("%d\n%Le\n%Le\n", (int) sizeof(long double), min, max); return 0; } If I compile with -m32, I get: 16 2.225074e-308 1.797693e+308 If I compile with -m64, I get: 16 3.362103e-4932 1.189731e+4932 IMHO, I should get the latter result for both cases. >How-To-Repeat: >Fix: >Release-Note: >Audit-Trail: >Unformatted: