Skip site navigation (1) Skip section navigation (2)

mvstats triggers 32bit warnings

From: Andres Freund <andres(at)anarazel(dot)de>
To: pgsql-hackers(at)postgresql(dot)org, Alvaro Herrera <alvherre(at)2ndquadrant(dot)com>,Tomas Vondra <tv(at)fuzzy(dot)cz>
Subject: mvstats triggers 32bit warnings
Date: 2017-04-07 21:40:22
Message-ID: 20170407214022.fidezl2e6rk3tuiz@alap3.anarazel.de (view raw, whole thread or download thread mbox)
Thread:
Lists: pgsql-hackers
Hi,

compiling on linux 32 bit I get a lot of warnings due to printf format.
I suspect most of them should just be cured by using %zd or %zu instead
of %ld.

/home/andres/src/postgresql/src/backend/statistics/mvdistinct.c: In function ‘statext_ndistinct_deserialize’:
/home/andres/src/postgresql/src/backend/statistics/mvdistinct.c:241:15: warning: format ‘%ld’ expects argument of type ‘long int’, but argument 3 has type ‘unsigned int’ [-Wformat=]
   elog(ERROR, "invalid MVNDistinct size %ld (expected at least %ld)",
               ^
/home/andres/src/postgresql/src/include/utils/elog.h:202:23: note: in definition of macro ‘elog’
   elog_finish(elevel, __VA_ARGS__); \
                       ^~~~~~~~~~~
/home/andres/src/postgresql/src/backend/statistics/mvdistinct.c:241:15: warning: format ‘%ld’ expects argument of type ‘long int’, but argument 4 has type ‘unsigned int’ [-Wformat=]
   elog(ERROR, "invalid MVNDistinct size %ld (expected at least %ld)",
               ^
/home/andres/src/postgresql/src/include/utils/elog.h:202:23: note: in definition of macro ‘elog’
   elog_finish(elevel, __VA_ARGS__); \
                       ^~~~~~~~~~~
/home/andres/src/postgresql/src/backend/statistics/mvdistinct.c:277:13: warning: format ‘%ld’ expects argument of type ‘long int’, but argument 2 has type ‘unsigned int’ [-Wformat=]
      errmsg("invalid MVNDistinct size %ld (expected at least %ld)",
             ^
/home/andres/src/postgresql/src/include/utils/elog.h:107:14: note: in definition of macro ‘ereport_domain’
    errfinish rest; \
              ^~~~
/home/andres/src/postgresql/src/backend/statistics/mvdistinct.c:275:3: note: in expansion of macro ‘ereport’
   ereport(ERROR,
   ^~~~~~~
/home/andres/src/postgresql/src/backend/statistics/mvdistinct.c:277:13: warning: format ‘%ld’ expects argument of type ‘long int’, but argument 3 has type ‘Size {aka unsigned int}’ [-Wformat=]
      errmsg("invalid MVNDistinct size %ld (expected at least %ld)",
             ^
/home/andres/src/postgresql/src/include/utils/elog.h:107:14: note: in definition of macro ‘ereport_domain’
    errfinish rest; \
              ^~~~
/home/andres/src/postgresql/src/backend/statistics/mvdistinct.c:275:3: note: in expansion of macro ‘ereport’
   ereport(ERROR,
   ^~~~~~~
In file included from /home/andres/src/postgresql/src/include/postgres.h:48:0,
                 from /home/andres/src/postgresql/src/backend/statistics/dependencies.c:14:
/home/andres/src/postgresql/src/backend/statistics/dependencies.c: In function ‘statext_dependencies_deserialize’:
/home/andres/src/postgresql/src/backend/statistics/dependencies.c:514:15: warning: format ‘%ld’ expects argument of type ‘long int’, but argument 3 has type ‘unsigned int’ [-Wformat=]
   elog(ERROR, "invalid MVDependencies size %ld (expected at least %ld)",
               ^
/home/andres/src/postgresql/src/include/utils/elog.h:202:23: note: in definition of macro ‘elog’
   elog_finish(elevel, __VA_ARGS__); \
                       ^~~~~~~~~~~
/home/andres/src/postgresql/src/backend/statistics/dependencies.c:514:15: warning: format ‘%ld’ expects argument of type ‘long int’, but argument 4 has type ‘unsigned int’ [-Wformat=]
   elog(ERROR, "invalid MVDependencies size %ld (expected at least %ld)",
               ^
/home/andres/src/postgresql/src/include/utils/elog.h:202:23: note: in definition of macro ‘elog’
   elog_finish(elevel, __VA_ARGS__); \
                       ^~~~~~~~~~~
/home/andres/src/postgresql/src/backend/statistics/dependencies.c:550:15: warning: format ‘%ld’ expects argument of type ‘long int’, but argument 3 has type ‘unsigned int’ [-Wformat=]
   elog(ERROR, "invalid dependencies size %ld (expected at least %ld)",
               ^
/home/andres/src/postgresql/src/include/utils/elog.h:202:23: note: in definition of macro ‘elog’
   elog_finish(elevel, __VA_ARGS__); \
                       ^~~~~~~~~~~
/home/andres/src/postgresql/src/backend/statistics/dependencies.c:550:15: warning: format ‘%ld’ expects argument of type ‘long int’, but argument 4 has type ‘Size {aka unsigned int}’ [-Wformat=]
   elog(ERROR, "invalid dependencies size %ld (expected at least %ld)",
               ^
- Andres


Responses

pgsql-hackers by date

Next:From: Kevin GrittnerDate: 2017-04-07 21:47:04
Subject: Re: recent deadlock regression test failures
Previous:From: Peter EisentrautDate: 2017-04-07 21:38:45
Subject: Re: Compilation warning with MSVC in pg_depend.c

Privacy Policy | About PostgreSQL
Copyright © 1996-2017 The PostgreSQL Global Development Group