This is the mail archive of the
gcc-help@gcc.gnu.org
mailing list for the GCC project.
compiler warning about literal
- From: Luchezar Belev <lukcho at gmail dot com>
- To: gcc-help <gcc-help at gcc dot gnu dot org>
- Date: Mon, 17 Nov 2014 18:22:08 +0200
- Subject: compiler warning about literal
- Authentication-results: sourceware.org; auth=none
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