Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 22 Sep 2014 07:50:56 +0200
From:      Dimitry Andric <dim@FreeBSD.org>
To:        Rui Paulo <rpaulo@me.com>
Cc:        freebsd-toolchain@freebsd.org, Steve Kargl <sgk@troutmask.apl.washington.edu>
Subject:   Re: Is this a compiler bug?
Message-ID:  <8B883BB9-8A59-4197-A69D-210229F8EA86@FreeBSD.org>
In-Reply-To: <2EB3354D-0F65-4A79-A378-7F397911284A@me.com>
References:  <20140922011946.GA4317@troutmask.apl.washington.edu> <670269FD-F75F-4044-8F3C-0260F58A70E2@me.com> <20140922014853.GA4469@troutmask.apl.washington.edu> <2EB3354D-0F65-4A79-A378-7F397911284A@me.com>

next in thread | previous in thread | raw e-mail | index | archive | help

[-- Attachment #1 --]
On 22 Sep 2014, at 04:20, Rui Paulo <rpaulo@me.com> wrote:
> On Sep 21, 2014, at 18:48, Steve Kargl <sgk@troutmask.apl.washington.edu> wrote:
>> On Sun, Sep 21, 2014 at 06:38:48PM -0700, Rui Paulo wrote:
>>> On Sep 21, 2014, at 18:19, Steve Kargl <sgk@troutmask.apl.washington.edu> wrote:
>>>> 
>>>> #include <stdio.h>
>>>> #include <stdint.h>
>>>> 
>>>> int
>>>> main(void)
>>>> {
>>>> 	uint16_t i;
>>>> 	i = 0x3ff0+63; printf("%x\n", i);
>>>> 	i = 0x3ff1+63; printf("%x\n", i);
>>>> 	i = 0x3ff2+63; printf("%x\n", i);
>>>> 	i = 0x3ff3+63; printf("%x\n", i);
>>>> 	i = 0x3ff4+63; printf("%x\n", i);
>>>> 	i = 0x3ff4+63; printf("%x\n", i);
>>>> 	i = 0x3ff6+63; printf("%x\n", i);
>>>> 	i = 0x3ff7+63; printf("%x\n", i);
>>>> 	i = 0x3ff8+63; printf("%x\n", i);
>>>> 	i = 0x3ff9+63; printf("%x\n", i);
>>>> 	i = 0x3ffa+63; printf("%x\n", i);
>>>> 	i = 0x3ffb+63; printf("%x\n", i);
>>>> 	i = 0x3ffc+63; printf("%x\n", i);
>>>> 	i = 0x3ffd+63; printf("%x\n", i);
>>>> 	i = 0x3ffe+63; printf("%x\n", i);
>>>> 	i = 0x3fff+63; printf("%x\n", i);
>>>> 	return 0;
>>>> }
>>> 
>>> Looks like it.  Please file a bug report with LLVM.
>>> 
>> 
>> Unfortunately, llvm requires an account to report bugs.
> 
> I think I know what's happening:  "e" is being parsed as scientific notation.

Yes, this is an unfortunate side effect of hexadecimal float notation
(either in C99, or as a gcc extension [1]).

-Dimitry

[1] https://gcc.gnu.org/onlinedocs/gcc/Hex-Floats.html


[-- Attachment #2 --]
-----BEGIN PGP SIGNATURE-----
Version: GnuPG/MacGPG2 v2.0.22 (Darwin)

iEYEARECAAYFAlQfuMsACgkQsF6jCi4glqOC5QCeL64bAJ76XcUVZPm3zn2GplKj
rz0Anir6ua7NijYzURLGn4ooOLLrxpEJ
=oDxV
-----END PGP SIGNATURE-----

Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?8B883BB9-8A59-4197-A69D-210229F8EA86>