Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 22 Sep 2014 09:20:34 -0700
From:      Steve Kargl <sgk@troutmask.apl.washington.edu>
To:        Andriy Gapon <avg@FreeBSD.org>
Cc:        freebsd-toolchain@FreeBSD.org, Rui Paulo <rpaulo@me.com>
Subject:   Re: Is this a compiler bug?
Message-ID:  <20140922162034.GA7918@troutmask.apl.washington.edu>
In-Reply-To: <541FB79F.1070002@FreeBSD.org>
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> <541FB79F.1070002@FreeBSD.org>

next in thread | previous in thread | raw e-mail | index | archive | help
On Mon, Sep 22, 2014 at 08:46:07AM +0300, Andriy Gapon wrote:
> On 22/09/2014 05:20, Rui Paulo 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 = 0x3ffe+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.
> 
> Interesting!  One of the cases where the whitespace matters?
> 

In a discussion on a GCC list, I was pointed to the section of
n1256.pdf where preprocessing numbers are discussed.  0x3ffe+63
is preprocessed as a single token.  When the parser finally gets
around to classifying this token, it is neither a valid integer
constant nor floating point constant.  It's just a weird feature
(idiosyncrasy?) of the C language.

-- 
Steve



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20140922162034.GA7918>