From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 28728 invoked by alias); 23 Jan 2008 21:32:20 -0000 Received: (qmail 28481 invoked by uid 48); 23 Jan 2008 21:31:37 -0000 Date: Wed, 23 Jan 2008 21:50:00 -0000 Message-ID: <20080123213137.28480.qmail@sourceware.org> X-Bugzilla-Reason: CC References: Subject: [Bug c/34720] ICE in real_to_decimal, at real.c:1656 In-Reply-To: Reply-To: gcc-bugzilla@gcc.gnu.org To: gcc-bugs@gcc.gnu.org From: "tgall dot foo at gmail 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: 2008-01/txt/msg02806.txt.bz2 ------- Comment #5 from tgall dot foo at gmail dot com 2008-01-23 21:31 ------- so the call path involved here is from gcc/c-cppbuiltin.c builtin_define_with_hex_fp_value which is calling real_to_decimal and its in that function we're running into problems. The string rep of the real is : 0x0.ffffffp128 aka __FLT_MAX_10_EXP__ I am able to do a real_to_hexadecimal successfully and get : 0x0.ffp+128 Inside of real_to_decimal once we get down to digit=rtd_divmod(&r, &pten) we're in obvious trouble as digit comes back with a value of: 7378697629483820646 which in hex comes out to be all 6's or a pattern of repeating nibbles of "0110". This is making my head hurt. -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=34720