[Patch] Fix enum type mismatch

Started by Zdenek Kotalaover 16 years ago2 messageshackers
Jump to latest
#1Zdenek Kotala
Zdenek.Kotala@Sun.COM

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

Attachments:

parsenode.patchtext/x-patch; CHARSET=US-ASCII; name=parsenode.patchDownload+1-1
#2Tom Lane
tgl@sss.pgh.pa.us
In reply to: Zdenek Kotala (#1)
Re: [Patch] Fix enum type mismatch

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