BUG #19062: PostgreSQL 12.22 does not compile because of conflicting types for CollationCreate - Mailing list pgsql-bugs

From PG Bug reporting form
Subject BUG #19062: PostgreSQL 12.22 does not compile because of conflicting types for CollationCreate
Date
Msg-id 19062-878185d630b541b4@postgresql.org
Whole thread Raw
Responses Re: BUG #19062: PostgreSQL 12.22 does not compile because of conflicting types for CollationCreate
List pgsql-bugs
The following bug has been logged on the website:

Bug reference:      19062
Logged by:          Peter Dyballa
Email address:      peter_dyballa@web.de
PostgreSQL version: Unsupported/Unknown
Operating system:   Mac OS X 10.5.8, "Leopard", PowerPC
Description:

With default compiler /usr/bin/gcc-4.2 (powerpc-apple-darwin9-gcc-4.2.1
(GCC) 4.2.1 (Apple Inc. build 5577)) the error is:

pg_collation.c:55: error: conflicting types for ‘CollationCreate’
../../../src/include/catalog/pg_collation.h:70: error: previous declaration
of ‘CollationCreate’ was here
pg_collation.c: In function ‘CollationCreate’:
pg_collation.c:196: warning: passing argument 3 of ‘heap_form_tuple’ from
incompatible pointer type
gnumake[3]: *** [pg_collation.o] Error 1
gnumake[3]: Leaving directory
`/opt/local/var/macports/build/postgresql12-5f1ceb12/work/postgresql-12.22/src/backend/catalog'
gnumake[2]: *** [catalog-recursive] Error 2
gnumake[2]: Leaving directory
`/opt/local/var/macports/build/postgresql12-5f1ceb12/work/postgresql-12.22/src/backend'
gnumake[1]: *** [all-backend-recurse] Error 2
gnumake[1]: Leaving directory
`/opt/local/var/macports/build/postgresql12-5f1ceb12/work/postgresql-12.22/src'
gnumake: *** [world-src-recurse] Error 2
gnumake: Leaving directory
`/opt/local/var/macports/build/postgresql12-5f1ceb12/work/postgresql-12.22'
Command failed:  cd
"/opt/local/var/macports/build/postgresql12-5f1ceb12/work/postgresql-12.22"
&& /usr/bin/gnumake -w world

With more up-to-date compiler /opt/local/bin/gcc-mp-14 (gcc-mp-14 (MacPorts
gcc14 14.2.0_1)) it is:

/opt/local/bin/gcc-mp-14 -Wall -Wmissing-prototypes -Wpointer-arith
-Wdeclaration-after-statement -Werror=vla -Wendif-labels
-Wmissing-format-attribute -Wformat-security -fno-strict-aliasing -fwrapv
-fexcess-precision=standard -Wno-format-truncation -Wno-stringop-truncation
-pipe -I/opt/local/libexec/openssl3/include -Os -arch ppc
-I../../../src/include  -I/opt/local/libexec/openssl3/include
-isystem/opt/local/include -I/opt/local/include/libxml2
-I/opt/local/include  -c -o pg_collation.o pg_collation.c
pg_collation.c:46:1: error: conflicting types for 'CollationCreate'; have
'Oid(const char *, Oid,  Oid,  char,  _Bool,  int32,  const char *, const
char *, const char *, _Bool,  _Bool)' {aka 'unsigned int(const char *,
unsigned int,  unsigned int,  char,  _Bool,  int,  const char *, const char
*, const char *, _Bool,  _Bool)'}
   46 | CollationCreate(const char *collname, Oid collnamespace,
      | ^~~~~~~~~~~~~~~
In file included from pg_collation.c:25:
../../../src/include/catalog/pg_collation.h:62:17: note: previous
declaration of 'CollationCreate' with type 'Oid(const char *, Oid,  Oid,
char,  bool,  int32,  const char *, const char *, const char *, bool,
bool)' {aka 'unsigned int(const char *, unsigned int,  unsigned int,  char,
unsigned char,  int,  const char *, const char *, const char *, unsigned
char,  unsigned char)'}
   62 | extern Oid      CollationCreate(const char *collname, Oid
collnamespace,
      |                 ^~~~~~~~~~~~~~~
pg_collation.c: In function 'CollationCreate':
pg_collation.c:196:48: error: passing argument 3 of 'heap_form_tuple' from
incompatible pointer type [-Wincompatible-pointer-types]
  196 |         tup = heap_form_tuple(tupDesc, values, nulls);
      |                                                ^~~~~
      |                                                |
      |                                                _Bool *
In file included from pg_collation.c:18:
../../../src/include/access/htup_details.h:794:87: note: expected 'bool *'
{aka 'unsigned char *'} but argument is of type '_Bool *'
  794 |
Datum *values, bool *isnull);
      |
~~~~~~^~~~~~
gnumake[3]: *** [pg_collation.o] Error 1
gnumake[3]: Leaving directory
`/opt/local/var/macports/build/postgresql12-5f1ceb12/work/postgresql-12.22/src/backend/catalog'
gnumake[2]: *** [catalog-recursive] Error 2
gnumake[2]: Leaving directory
`/opt/local/var/macports/build/postgresql12-5f1ceb12/work/postgresql-12.22/src/backend'
gnumake[1]: *** [all-backend-recurse] Error 2
gnumake[1]: Leaving directory
`/opt/local/var/macports/build/postgresql12-5f1ceb12/work/postgresql-12.22/src'
gnumake: *** [world-src-recurse] Error 2
gnumake: Leaving directory
`/opt/local/var/macports/build/postgresql12-5f1ceb12/work/postgresql-12.22'
Command failed:  cd
"/opt/local/var/macports/build/postgresql12-5f1ceb12/work/postgresql-12.22"
&& /usr/bin/gnumake -w world

--

Pete


pgsql-bugs by date:

Previous
From: David Rowley
Date:
Subject: Re: The issue of incorrect width estimation in UNION queries
Next
From: "Wei Sun"
Date:
Subject: 回复: The issue of incorrect width estimation in UNION queries