Skip to content

Add missing <cstdint> and <iterator> includes to hll and cpc internal headers - #530

Merged
leerho merged 1 commit into
masterfrom
cstdint-internal-headers
Sep 29, 2026
Merged

leerho merged 1 commit into
masterfrom
cstdint-internal-headers

Conversation

@leerho

@leerho leerho commented Sep 28, 2026

Copy link
Copy Markdown
Member

Fixes #499.

#500 fixed the reported GCC 15 failure in fi/include/reverse_purge_hash_map.hpp (plus common/include/serde.hpp) and added GCC 9–15 and C++11–23 jobs to CI. This PR covers the issue's remaining concern that other headers might have the same problem.

I compiled each header standalone against libc++ with -D_LIBCPP_REMOVE_TRANSITIVE_INCLUDES, which approximates GCC 15's stricter headers. Every public entry-point header passed. Two internal headers use fixed-width integer types without including <cstdint> and compile only because of include order, which is the same latent condition that broke reverse_purge_hash_map.hpp:

  • hll/include/coupon_iterator.hpp: uses uint32_t and std::input_iterator_tag. AuxHashMap.hpp includes it right after <iostream>, <memory> and <functional>. Added <cstdint> and <iterator>.
  • cpc/include/compression_data.hpp: uses uint8_t and uint16_t. Currently safe only because common_defs.hpp is included first. Added <cstdint>.

No behavior change. The full test suite passes locally (Apple clang, C++11).

🤖 Generated with Claude Code

coupon_iterator.hpp uses uint32_t and std::input_iterator_tag, and
compression_data.hpp uses uint8_t and uint16_t, but neither includes the
headers that declare them. Both compile today only because of include
order. This is the same latent problem as reverse_purge_hash_map.hpp in
#499, which surfaced under GCC 15's reduced transitive includes.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@coveralls

Copy link
Copy Markdown

Coverage Report for CI Build 36500174923

Coverage remained the same at 82.389%

Details

  • Coverage remained the same as the base build.
  • Patch coverage: No coverable lines changed in this PR.
  • No coverage regressions found.

Uncovered Changes

No uncovered changes found.

Coverage Regressions

No coverage regressions found.


Coverage Stats

Coverage Status
Relevant Lines: 21560
Covered Lines: 17763
Line Coverage: 82.39%
Coverage Strength: 1363989.29 hits per line

💛 - Coveralls

@leerho
leerho requested review from proost and tisonkun September 29, 2026 00:00
@leerho
leerho merged commit 95052ec into master Sep 29, 2026
32 checks passed
@leerho
leerho deleted the cstdint-internal-headers branch September 29, 2026 01:39
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.

Compilation failure with GCC 15

3 participants