ovsdb-idlc: Fix warning in generated code.
authorBen Pfaff <blp@nicira.com>
Thu, 17 Jun 2010 22:24:54 +0000 (15:24 -0700)
committerBen Pfaff <blp@nicira.com>
Thu, 17 Jun 2010 22:27:41 +0000 (15:27 -0700)
Without this fix, ovsdb-idlc generates the following line of code:
    c->type.key.u.integer.max = 4294967295;
which causes GCC to issue this warning:
    this decimal constant is unsigned only in ISO C90

This commit changes the generated code to:
    c->type.key.u.integer.max = INT64_C(4294967295);
which eliminates the warning.

ovsdb/OVSDB.py

index 6e426e5..0cd416e 100644 (file)
@@ -329,9 +329,9 @@ class BaseType:
             stmts += self.enum.cInitDatum("%s.enum_" % var)
         if self.type == 'integer':
             if self.minInteger != None:
-                stmts.append('%s.u.integer.min = %d;' % (var, self.minInteger))
+                stmts.append('%s.u.integer.min = INT64_C(%d);' % (var, self.minInteger))
             if self.maxInteger != None:
-                stmts.append('%s.u.integer.max = %d;' % (var, self.maxInteger))
+                stmts.append('%s.u.integer.max = INT64_C(%d);' % (var, self.maxInteger))
         elif self.type == 'real':
             if self.minReal != None:
                 stmts.append('%s.u.real.min = %d;' % (var, self.minReal))