Re: [PATCH] tabled: use LL to indicate 64-bit constant

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



util.c: In function ‘objid_init’:
util.c:331: warning: integer constant is too large for ‘long’ type

with

[cmccabe@stargazer tabled]$ gcc --version
gcc (GCC) 4.4.1 20090725 (Red Hat 4.4.1-2)

Now that I wrote a little test program, I can see that gcc handles the
constant correctly. It still issues a warning for some reason.
I guess gcc's C99 support is not perfect.

Colin


On Tue, Jan 12, 2010 at 6:29 AM, Jeff Garzik <jeff@xxxxxxxxxx> wrote:
> On 01/10/2010 08:10 AM, Colin McCabe wrote:
>>
>> All integer constants are squashed into ints (i.e. 32-bit) unless you
>> specify
>> otherwise.
>>
>> Signed-off-by: Colin McCabe<cmccabe@xxxxxxxxxxxxxx>
>> ---
>>  server/util.c |    2 +-
>>  1 files changed, 1 insertions(+), 1 deletions(-)
>>
>> diff --git a/server/util.c b/server/util.c
>> index 3c15123..63a3acb 100644
>> --- a/server/util.c
>> +++ b/server/util.c
>> @@ -328,7 +328,7 @@ int objid_init(uint64_t *obj_count, struct tabledb
>> *tdbp)
>>                exit(1);        /* Quit before something unknown blows up.
>> */
>>        }
>>
>> -       if (objcount&  0xff00000000000000) {
>> +       if (objcount&  0xff00000000000000ll) {
>>                applog(LOG_ERR, "Dangerous objid %llX\n",
>
> Yep, "The type of an integer constant is the first of the corresponding list
> in which its value can be represented." (C99 6.4.4.1 paragraph 5)
>
> Were you seeing a problem here?
>
>        Jeff
>
>
>
>
>
--
To unsubscribe from this list: send the line "unsubscribe hail-devel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html

[Index of Archives]     [Fedora Clound]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [XFree86]

  Powered by Linux