Skip to content

fix #17 add missing <cstdint> include#18

Open
remicollet wants to merge 1 commit intoSeasX:masterfrom
remicollet:issue-gcc15
Open

fix #17 add missing <cstdint> include#18
remicollet wants to merge 1 commit intoSeasX:masterfrom
remicollet:issue-gcc15

Conversation

@remicollet
Copy link
Copy Markdown

See #17

iliaal added a commit to iliaal/php_clickhouse that referenced this pull request Apr 25, 2026
Brings forward the same fix as upstream PR SeasX#18 against the v1.x
vendored copy. v2.6.1 still doesn't include <cstdint> in either
clickhouse/types/types.h or clickhouse/columns/numeric.h, even on
master. Older GCC pulls cstdint in transitively from <atomic> /
<vector>; GCC 15 tightened the standard library headers and stopped
doing that, so anything that uses uint8_t / int16_t / uint64_t
without an explicit cstdint include fails:

  error: 'uint8_t' was not declared in this scope

types.h has 17 such usages, numeric.h has 9. Both now include
<cstdint> explicitly.

Reported upstream against the SeasX repo as SeasX#17, with PR SeasX#18
proposing the same one-line fix to the (then v1.x) types.h. Both
of those are still open; this commit applies the fix to the
v2.6.1 copy we now vendor and extends it to numeric.h, which has
the identical risk.

No behavioral change. Build still clean on host gcc 11.4 and the
PHP 7.4 / 8.4 docker matrix; full 12-file test suite still passes
against ClickHouse 26.3.9.8.
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