pgsql: Try to fix compiler warnings.
Try to fix compiler warnings.
Per report from Peter Geoghegan.
Discussion: /messages/by-id/CAH2-WznpwULZ3uJ1_6WXvNMXYbOy8k8tYs3r=qSdGmZeRd6tDw@mail.gmail.com
Branch
------
master
Details
-------
https://git.postgresql.org/pg/commitdiff/d60e61de4fb4a8e7ca88204c2c409e7380887d76
Modified Files
--------------
src/bin/pg_amcheck/pg_amcheck.c | 7 ++++---
1 file changed, 4 insertions(+), 3 deletions(-)
On 2021.03.12. 20:36 Robert Haas <rhaas@postgresql.org> wrote:
Try to fix compiler warnings.
Per report from Peter Geoghegan.
I had the same errors Peter reported. gcc 10.2 on debian.
The compile stops with:
In file included from ../../../src/include/postgres_fe.h:25,
from pg_amcheck.c:13:
pg_amcheck.c: In function ‘compile_relation_list_one_db’:
../../../src/include/c.h:118:31: error: expected ‘,’ or ‘;’ before ‘__attribute__’
118 | #define pg_attribute_unused() __attribute__((unused))
| ^~~~~~~~~~~~~
../../../src/include/c.h:155:34: note: in expansion of macro ‘pg_attribute_unused’
155 | #define PG_USED_FOR_ASSERTS_ONLY pg_attribute_unused()
| ^~~~~~~~~~~~~~~~~~~
pg_amcheck.c:2061:26: note: in expansion of macro ‘PG_USED_FOR_ASSERTS_ONLY’
2061 | bool is_btree = false PG_USED_FOR_ASSERTS_ONLY;
| ^~~~~~~~~~~~~~~~~~~~~~~~
pg_amcheck.c:2061:9: warning: variable ‘is_btree’ set but not used [-Wunused-but-set-variable]
2061 | bool is_btree = false PG_USED_FOR_ASSERTS_ONLY;
| ^~~~~~~~
make[3]: *** [pg_amcheck.o] Error 1
make[2]: *** [all-pg_amcheck-recurse] Error 2
make[2]: *** Waiting for unfinished jobs....
make[1]: *** [all-bin-recurse] Error 2
make: *** [all-src-recurse] Error 2
../../../src/Makefile.global:919: recipe for target 'pg_amcheck.o' failed
Makefile:43: recipe for target 'all-pg_amcheck-recurse' failed
Makefile:42: recipe for target 'all-bin-recurse' failed
GNUmakefile:11: recipe for target 'all-src-recurse' failed
Show quoted text
Discussion: /messages/by-id/CAH2-WznpwULZ3uJ1_6WXvNMXYbOy8k8tYs3r=qSdGmZeRd6tDw@mail.gmail.com
Branch
------
masterDetails
-------
https://git.postgresql.org/pg/commitdiff/d60e61de4fb4a8e7ca88204c2c409e7380887d76Modified Files
--------------
src/bin/pg_amcheck/pg_amcheck.c | 7 ++++---
1 file changed, 4 insertions(+), 3 deletions(-)
On Fri, Mar 12, 2021 at 2:52 PM <er@xs4all.nl> wrote:
On 2021.03.12. 20:36 Robert Haas <rhaas@postgresql.org> wrote:
Try to fix compiler warnings.Per report from Peter Geoghegan.
I had the same errors Peter reported. gcc 10.2 on debian.
The compile stops with:
In file included from ../../../src/include/postgres_fe.h:25,
from pg_amcheck.c:13:
pg_amcheck.c: In function ‘compile_relation_list_one_db’:
../../../src/include/c.h:118:31: error: expected ‘,’ or ‘;’ before ‘__attribute__’
118 | #define pg_attribute_unused() __attribute__((unused))
| ^~~~~~~~~~~~~
../../../src/include/c.h:155:34: note: in expansion of macro ‘pg_attribute_unused’
155 | #define PG_USED_FOR_ASSERTS_ONLY pg_attribute_unused()
| ^~~~~~~~~~~~~~~~~~~
pg_amcheck.c:2061:26: note: in expansion of macro ‘PG_USED_FOR_ASSERTS_ONLY’
2061 | bool is_btree = false PG_USED_FOR_ASSERTS_ONLY;
| ^~~~~~~~~~~~~~~~~~~~~~~~
pg_amcheck.c:2061:9: warning: variable ‘is_btree’ set but not used [-Wunused-but-set-variable]
2061 | bool is_btree = false PG_USED_FOR_ASSERTS_ONLY;
| ^~~~~~~~
make[3]: *** [pg_amcheck.o] Error 1
make[2]: *** [all-pg_amcheck-recurse] Error 2
make[2]: *** Waiting for unfinished jobs....
make[1]: *** [all-bin-recurse] Error 2
make: *** [all-src-recurse] Error 2
../../../src/Makefile.global:919: recipe for target 'pg_amcheck.o' failed
Makefile:43: recipe for target 'all-pg_amcheck-recurse' failed
Makefile:42: recipe for target 'all-bin-recurse' failed
GNUmakefile:11: recipe for target 'all-src-recurse' failed
Well, that's not quite the same. The warning about mixing declarations
and code is gone, which is good, but the error about
PG_USED_FOR_ASSERTS_ONLY is clearly bad. I am a bit confused, though
... or I was until I realized that I put PG_USED_FOR_ASSERTS_ONLY
after the initializer whereas existing occurrences are before the
initializer. I just committed something to move that; hopefully that
fixes it for you.
--
Robert Haas
EDB: http://www.enterprisedb.com
On 2021.03.12. 21:06 Robert Haas <robertmhaas@gmail.com> wrote:
On Fri, Mar 12, 2021 at 2:52 PM <er@xs4all.nl> wrote:On 2021.03.12. 20:36 Robert Haas <rhaas@postgresql.org> wrote:
../../../src/Makefile.global:919: recipe for target 'pg_amcheck.o' failed
Makefile:43: recipe for target 'all-pg_amcheck-recurse' failed
Makefile:42: recipe for target 'all-bin-recurse' failed
GNUmakefile:11: recipe for target 'all-src-recurse' failedWell, that's not quite the same. The warning about mixing declarations
Sorry, I could have been clearer; I meant that /earlier/ I had the same error that Peter reported.
Now compile is OK again, no errors, no warnings. Thanks.
Erik
On Fri, Mar 12, 2021 at 3:18 PM Erik Rijkers <er@xs4all.nl> wrote:
Now compile is OK again, no errors, no warnings. Thanks.
Cool, thanks for confirming.
--
Robert Haas
EDB: http://www.enterprisedb.com