From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 7440 invoked by alias); 15 Oct 2002 02:06:02 -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 7421 invoked by uid 71); 15 Oct 2002 02:06:01 -0000 Resent-Date: 15 Oct 2002 02:06:01 -0000 Resent-Message-ID: <20021015020601.7420.qmail@sources.redhat.com> Resent-From: gcc-gnats@gcc.gnu.org (GNATS Filer) Resent-Cc: gcc-prs@gcc.gnu.org, gcc-bugs@gcc.gnu.org Resent-Reply-To: gcc-gnats@gcc.gnu.org, sebor@roguewave.com Received: (qmail 3352 invoked by uid 61); 15 Oct 2002 01:57:39 -0000 Message-Id: <20021015015739.3351.qmail@sources.redhat.com> Date: Mon, 14 Oct 2002 19:06:00 -0000 From: sebor@roguewave.com Reply-To: sebor@roguewave.com To: gcc-gnats@gcc.gnu.org X-Send-Pr-Version: gnatsweb-2.9.3 (1.1.1.1.2.31) Subject: c++/8228: ICE on HUGE_VAL in template code X-SW-Source: 2002-10/txt/msg00564.txt.bz2 List-Id: >Number: 8228 >Category: c++ >Synopsis: ICE on HUGE_VAL in template code >Confidential: no >Severity: serious >Priority: medium >Responsible: unassigned >State: open >Class: ice-on-legal-code >Submitter-Id: net >Arrival-Date: Mon Oct 14 19:06:01 PDT 2002 >Closed-Date: >Last-Modified: >Originator: sebor@roguewave.com >Release: 3.2 >Organization: >Environment: Linux, glibc 2.1 >Description: The program below causes an ICE with gcc 3.2: $ cat t.cpp; g++ --version; g++ t.cpp #include template void foo () { if (HUGE_VAL == 0.0L); } int main () { foo(); } g++ (GCC) 3.2 Copyright (C) 2002 Free Software Foundation, Inc. This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. t.cpp: In function `void foo() [with T = int]': t.cpp:11: instantiated from here t.cpp:6: internal error: Segmentation fault Please submit a full bug report, with preprocessed source if appropriate. See for instructions. Preprocessed with this version of glibc, foo contains this: template void foo () { if ((__extension__ ((union { unsigned char __c[8]; double __d; }) { __c: { 0 , 0, 0, 0, 0, 0, 0xf0, 0x7f } }).__d) == 0.0L); } >How-To-Repeat: >Fix: >Release-Note: >Audit-Trail: >Unformatted: