Skip to content

PostgreSQL 19 fixes - #45

Open
devrimgunduz wants to merge 1 commit into
eulerto:masterfrom
devrimgunduz:master
Open

PostgreSQL 19 fixes#45
devrimgunduz wants to merge 1 commit into
eulerto:masterfrom
devrimgunduz:master

Conversation

@devrimgunduz

@devrimgunduz devrimgunduz commented Jul 9, 2026

Copy link
Copy Markdown

R eplace bits8 *pa, *pb with uint8 *pa, *pb in hamming(). PG19 dropped the bits8 typedef (previously typedef uint8 bits8; in c.h) in favor of using uint8 directly; VARBITS() now returns uint8 * instead of bits8 *. Under PG18 and earlier this compiled fine because bits8 was a valid alias, but on PG19 the identifier is gone entirely, so the compiler treats bits8 *pa, *pb; as an expression rather than a declaration, producing "use of undeclared identifier 'bits8'" (clang) / "unknown type name 'bits8'" (gcc), plus the cascading "undeclared identifier pa/pb" and "assignment ... from incompatible pointer type 'uint8 *'" errors.

Hacked by Claude, tested by me.

Per: pgdg-packaging/pgdg-rpms#213

  replace `bits8 *pa, *pb` with `uint8 *pa, *pb` in hamming().
  PG19 dropped the `bits8` typedef (previously `typedef uint8 bits8;` in
  c.h) in favor of using `uint8` directly; VARBITS() now returns
  `uint8 *` instead of `bits8 *`. Under PG18 and earlier this compiled
  fine because `bits8` was a valid alias, but on PG19 the identifier is
  gone entirely, so the compiler treats `bits8 *pa, *pb;` as an
  expression rather than a declaration, producing "use of undeclared
  identifier 'bits8'" (clang) / "unknown type name 'bits8'" (gcc), plus
  the cascading "undeclared identifier pa/pb" and
  "assignment ... from incompatible pointer type 'uint8 *'" errors

Hacked by Claude, tested by me.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant