Message-ID: From: "df7cb (@df7cb)" To: "postgresql-interfaces/psqlodbc" Date: Sat, 01 Mar 2025 15:27:13 +0000 Subject: [postgresql-interfaces/psqlodbc] issue #94: GCC 15: psqlodbc.h:300:23: error: 'bool' cannot be defined via 'typedef' List-Id: X-GitHub-Author-Id: 1021828 X-GitHub-Author-Login: df7cb X-GitHub-Issue: 94 X-GitHub-Repo: postgresql-interfaces/psqlodbc X-GitHub-State: closed X-GitHub-Type: issue X-GitHub-Url: https://github.com/postgresql-interfaces/psqlodbc/issues/94 Content-Type: text/plain; charset=utf-8 From https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=1097661: psqlodbc fails to build with GCC 15: ``` libtool: compile: gcc -DHAVE_CONFIG_H -I. -Wdate-time -D_FORTIFY_SOURCE=2 -I/usr/include -I/usr/include/postgresql -I/usr/include/postgresql/internal -DUNICODE_SUPPORT -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/home/myon/projects/postgresql/psqlodbc/psqlodbc=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -Wall -c multibyte.c -fPIC -DPIC -o .libs/psqlodbcw_la-multibyte.o In file included from lobj.h:13, from lobj.c:15: psqlodbc.h:300:23: error: 'bool' cannot be defined via 'typedef' 300 | typedef unsigned char bool; | ^~~~ psqlodbc.h:300:23: note: 'bool' is a keyword with '-std=c23' onwards psqlodbc.h:300:1: warning: useless type name in empty declaration 300 | typedef unsigned char bool; | ^~~~~~~ In file included from convert.h:12, from convert.c:20: psqlodbc.h:300:23: error: 'bool' cannot be defined via 'typedef' 300 | typedef unsigned char bool; | ^~~~ psqlodbc.h:300:23: note: 'bool' is a keyword with '-std=c23' onwards psqlodbc.h:300:1: warning: useless type name in empty declaration 300 | typedef unsigned char bool; | ^~~~~~~ In file included from environ.h:16, from environ.c:16: psqlodbc.h:300:23: error: 'bool' cannot be defined via 'typedef' 300 | typedef unsigned char bool; | ^~~~ psqlodbc.h:300:23: note: 'bool' is a keyword with '-std=c23' onwards psqlodbc.h:300:1: warning: useless type name in empty declaration 300 | typedef unsigned char bool; | ^~~~~~~ In file included from info.c:19: psqlodbc.h:300:23: error: 'bool' cannot be defined via 'typedef' 300 | typedef unsigned char bool; | ^~~~ psqlodbc.h:300:23: note: 'bool' is a keyword with '-std=c23' onwards psqlodbc.h:300:1: warning: useless type name in empty declaration 300 | typedef unsigned char bool; | ^~~~~~~ In file included from statement.h:12, from statement.c:21: psqlodbc.h:300:23: error: 'bool' cannot be defined via 'typedef' 300 | typedef unsigned char bool; | ^~~~ psqlodbc.h:300:23: note: 'bool' is a keyword with '-std=c23' onwards psqlodbc.h:300:1: warning: useless type name in empty declaration 300 | typedef unsigned char bool; | ^~~~~~~ In file included from execute.c:16: psqlodbc.h:300:23: error: 'bool' cannot be defined via 'typedef' 300 | typedef unsigned char bool; | ^~~~ psqlodbc.h:300:23: note: 'bool' is a keyword with '-std=c23' onwards psqlodbc.h:300:1: warning: useless type name in empty declaration 300 | typedef unsigned char bool; | ^~~~~~~ In file included from bind.h:12, from bind.c:19: psqlodbc.h:300:23: error: 'bool' cannot be defined via 'typedef' 300 | typedef unsigned char bool; | ^~~~ psqlodbc.h:300:23: note: 'bool' is a keyword with '-std=c23' onwards psqlodbc.h:300:1: warning: useless type name in empty declaration 300 | typedef unsigned char bool; | ^~~~~~~ In file included from connection.h:12, from connection.c:22: psqlodbc.h:300:23: error: 'bool' cannot be defined via 'typedef' 300 | typedef unsigned char bool; | ^~~~ psqlodbc.h:300:23: note: 'bool' is a keyword with '-std=c23' onwards psqlodbc.h:300:1: warning: useless type name in empty declaration 300 | typedef unsigned char bool; | ^~~~~~~ In file included from pgtypes.h:12, from pgtypes.c:19: psqlodbc.h:300:23: error: 'bool' cannot be defined via 'typedef' 300 | typedef unsigned char bool; | ^~~~ psqlodbc.h:300:23: note: 'bool' is a keyword with '-std=c23' onwards psqlodbc.h:300:1: warning: useless type name in empty declaration 300 | typedef unsigned char bool; | ^~~~~~~ In file included from pgtypes.h:12, from columninfo.c:15: psqlodbc.h:300:23: error: 'bool' cannot be defined via 'typedef' 300 | typedef unsigned char bool; | ^~~~ psqlodbc.h:300:23: note: 'bool' is a keyword with '-std=c23' onwards psqlodbc.h:300:1: warning: useless type name in empty declaration 300 | typedef unsigned char bool; | ^~~~~~~ In file included from options.c:16: psqlodbc.h:300:23: error: 'bool' cannot be defined via 'typedef' 300 | typedef unsigned char bool; | ^~~~ psqlodbc.h:300:23: note: 'bool' is a keyword with '-std=c23' onwards psqlodbc.h:300:1: warning: useless type name in empty declaration 300 | typedef unsigned char bool; | ^~~~~~~ In file included from drvconn.c:15: psqlodbc.h:300:23: error: 'bool' cannot be defined via 'typedef' 300 | typedef unsigned char bool; | ^~~~ psqlodbc.h:300:23: note: 'bool' is a keyword with '-std=c23' onwards psqlodbc.h:300:1: warning: useless type name in empty declaration 300 | typedef unsigned char bool; | ^~~~~~~ In file included from multibyte.h:8, from multibyte.c:11: psqlodbc.h:300:23: error: 'bool' cannot be defined via 'typedef' 300 | typedef unsigned char bool; | ^~~~ psqlodbc.h:300:23: note: 'bool' is a keyword with '-std=c23' onwards psqlodbc.h:300:1: warning: useless type name in empty declaration 300 | typedef unsigned char bool; | ^~~~~~~ In file included from qresult.h:12, from qresult.c:19: psqlodbc.h:300:23: error: 'bool' cannot be defined via 'typedef' 300 | typedef unsigned char bool; | ^~~~ psqlodbc.h:300:23: note: 'bool' is a keyword with '-std=c23' onwards psqlodbc.h:300:1: warning: useless type name in empty declaration 300 | typedef unsigned char bool; | ^~~~~~~ In file included from results.c:18: psqlodbc.h:300:23: error: 'bool' cannot be defined via 'typedef' 300 | typedef unsigned char bool; | ^~~~ psqlodbc.h:300:23: note: 'bool' is a keyword with '-std=c23' onwards psqlodbc.h:300:1: warning: useless type name in empty declaration 300 | typedef unsigned char bool; | ^~~~~~~ In file included from tuple.h:16, from tuple.c:20: psqlodbc.h:300:23: error: 'bool' cannot be defined via 'typedef' 300 | typedef unsigned char bool; | ^~~~ psqlodbc.h:300:23: note: 'bool' is a keyword with '-std=c23' onwards psqlodbc.h:300:1: warning: useless type name in empty declaration 300 | typedef unsigned char bool; | ^~~~~~~ In file included from psqlodbc.c:21: psqlodbc.h:300:23: error: 'bool' cannot be defined via 'typedef' 300 | typedef unsigned char bool; | ^~~~ psqlodbc.h:300:23: note: 'bool' is a keyword with '-std=c23' onwards psqlodbc.h:300:1: warning: useless type name in empty declaration 300 | typedef unsigned char bool; | ^~~~~~~ In file included from dlg_specific.h:12, from dlg_specific.c:21: psqlodbc.h:300:23: error: 'bool' cannot be defined via 'typedef' 300 | typedef unsigned char bool; | ^~~~ psqlodbc.h:300:23: note: 'bool' is a keyword with '-std=c23' onwards psqlodbc.h:300:1: warning: useless type name in empty declaration 300 | typedef unsigned char bool; | ^~~~~~~ In file included from misc.c:15: psqlodbc.h:300:23: error: 'bool' cannot be defined via 'typedef' 300 | typedef unsigned char bool; | ^~~~ psqlodbc.h:300:23: note: 'bool' is a keyword with '-std=c23' onwards psqlodbc.h:300:1: warning: useless type name in empty declaration 300 | typedef unsigned char bool; | ^~~~~~~ make[3]: *** [Makefile:770: psqlodbcw_la-lobj.lo] Fehler 1 make[3]: *** Es wird auf noch nicht beendete Prozesse gewartet … In file included from parse.c:25: psqlodbc.h:300:23: error: 'bool' cannot be defined via 'typedef' 300 | typedef unsigned char bool; | ^~~~ psqlodbc.h:300:23: note: 'bool' is a keyword with '-std=c23' onwards psqlodbc.h:300:1: warning: useless type name in empty declaration 300 | typedef unsigned char bool; | ^~~~~~~ make[3]: *** [Makefile:756: psqlodbcw_la-environ.lo] Fehler 1 ```