Skip to content

GCC 15: psqlodbc.h:300:23: error: 'bool' cannot be defined via 'typedef' #94

@df7cb

Description

@df7cb

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

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions