This is the mail archive of the
gcc@gcc.gnu.org
mailing list for the GCC project.
Re: question: suffix for fixed-point literal constant
"Janis Johnson" wrote:
> On Wed, 2009-02-11 at 10:42 -0800, Fu, Chao-Ying wrote:
> > Janis Johnson wrote:
> > >
> > > I'm rewriting function interpret_float_suffix in libcpp/expr.c to fix
> > > suffixes in decimal float literal constants for c/33466. While I'm at
> > > it I'm fixing suffixes for fixed-point literal constants.
> > > Currently for
> > > fixed-point GCC accepts any ordering of the letters in the
> > > suffix. The
> > > technical report (N1169) gives specific strings, not
> > > individual letters
> > > that can be used in any order. That seems like something
> > > obvious to fix
> > > but I thought I'd mention it in case they really should be accepted in
> > > any order.
> > >
> > > My question, though, is about the case of the letters in the suffixes.
> > > N1169 says "note that the suffix is case insensitive"; should I take
> > > that literally and allow any mix of cases (as GCC currently does), or
> > > require that the same case be used within a particular suffix?
> >
> > From my implementation, I allow mixed-case suffixes.
> > We can view this as a GCC feature, if it turns out that the spec doesn't
allow this.
> > Thanks!
>
> Where do the 'll' and 'LL' come from in fixed-point suffixes? Is there
> a reason that your implementation requires them to be the same case?
>
> Janis
The spec doesn't have long long fixed-point types or constants. So, the
long long fixed-point
support in GCC is an extension to the spec. I just reused C code to enforce
ll and LL. We are free to
accept any formats. If you like, you can change C code to accept all of
"ll, LL, Ll, lL". Thanks!
Regards,
Chao-ying