Given the limited range of i, these shifts should not cause any
problem, but that apparently doesn't stop some compilers from
whining about them.
David Rowley
/* Check that the originally-named opclass is complete */
for (i = 1; i <= GINNProcs; i++)
{
- if (opclassgroup && (opclassgroup->functionset & (1 << i)) != 0)
+ if (opclassgroup &&
+ (opclassgroup->functionset & (((uint64) 1) << i)) != 0)
continue; /* got it */
if (i == GIN_COMPARE_PARTIAL_PROC)
continue; /* optional method */
/* Check that the originally-named opclass is complete */
for (i = 1; i <= GISTNProcs; i++)
{
- if (opclassgroup && (opclassgroup->functionset & (1 << i)) != 0)
+ if (opclassgroup &&
+ (opclassgroup->functionset & (((uint64) 1) << i)) != 0)
continue; /* got it */
if (i == GIST_DISTANCE_PROC || i == GIST_FETCH_PROC)
continue; /* optional methods */
for (i = 1; i <= SPGISTNProc; i++)
{
- if ((thisgroup->functionset & (1 << i)) != 0)
+ if ((thisgroup->functionset & (((uint64) 1) << i)) != 0)
continue; /* got it */
ereport(INFO,
(errcode(ERRCODE_INVALID_OBJECT_DEFINITION),