This is the mail archive of the gcc-help@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

compiler warning about literal


hi,

when i try to compile this c code:
long long t = 2684354560;
gcc (version 4.8.2) says: " ...warning: this decimal constant is
unsigned only in ISO C90 [enabled by default]"

i added the option -std=C90 but i still get the same warning.
Is there a way one can get rid of this warning (other than adding the
"u" suffix to the literal, which i can't do for complicated reasons
that are beyond this question)

I wonder why does gcc give such warning at all given that in either
standard the literal decimal number  "2684354560" is valid:
 a) in ISO C90 it will be interpreted as unsigned long and
 b) in ISO C99 it will be interpreted as signed long long


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]