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