This is the mail archive of the
gcc-help@gcc.gnu.org
mailing list for the GCC project.
Re: gcc 3.3: long long bug?
- From: Andreas Schwab <schwab at suse dot de>
- To: Anders Ådland <aaadland at atmel dot no>
- Cc: "A.R. Ashok Kumar" <ashokar at sankhya dot com>,Eric Botcazou <ebotcazou at libertysurf dot fr>,Lev Assinovsky <LAssinovsky at algorithm dot aelita dot com>,gcc-help at gcc dot gnu dot org
- Date: Mon, 07 Apr 2003 16:36:37 +0200
- Subject: Re: gcc 3.3: long long bug?
- References: <Pine.GSO.4.21.0304071832150.361-100000@sun103><1049725729.1170.37.camel@marit>
Anders Ådland <aaadland at atmel dot no> writes:
|> I don't know anything about C standards, but why do we have to add the
|> 'LL' suffix? Is it giving any additional information to the compiler?
Yes. It tells the compiler that the constant is supposed to be of type
long long if it fits, and not of any narrower type (even if the constant
would fit there). The type of an expression is determined only by looking
at the expression itself, ignoring the context. The context can then
instruct the compiler to insert some conversions, but that happens only
afterwards.
Andreas.
--
Andreas Schwab, SuSE Labs, schwab at suse dot de
SuSE Linux AG, Deutschherrnstr. 15-19, D-90429 Nürnberg
Key fingerprint = 58CA 54C7 6D53 942B 1756 01D3 44D5 214B 8276 4ED5
"And now for something completely different."