Thread
-
[Patch] Fix enum type mismatch
Zdenek Kotala <zdenek.kotala@sun.com> — 2009-11-13T15:29:00Z
Attached patch fixed following warning: "../../../src/include/nodes/parsenodes.h", line 487: warning: enumerator value overflows INT_MAX (2147483647) The reason is clear, enum is int not unsigned. It is short fix, but I'm thinking about enum conversion to #define. We use e.g. in the same file. 60 typedef uint32 AclMode; /* a bitmask of privilege bits */ 61 62 #define ACL_INSERT (1<<0) /* for relations */ 63 #define ACL_SELECT (1<<1) 64 #define ACL_UPDATE (1<<2) 65 #define ACL_DELETE (1<<3) 66 #define ACL_TRUNCATE (1<<4) 67 #define ACL_REFERENCES (1<<5) 68 #define ACL_TRIGGER (1<<6) Zdenek
-
Re: [Patch] Fix enum type mismatch
Tom Lane <tgl@sss.pgh.pa.us> — 2009-11-13T23:45:06Z
Zdenek Kotala <Zdenek.Kotala@Sun.COM> writes: > Attached patch fixed following warning: > "../../../src/include/nodes/parsenodes.h", line 487: warning: enumerator > value overflows INT_MAX (2147483647) > The reason is clear, enum is int not unsigned. I think the compiler is entitled to assume either, actually. But your fix is good either way. Applied. regards, tom lane