Skip to content

Conversation

@tzik
Copy link

@tzik tzik commented Dec 17, 2025

Description of changes:
aws/core/utils/crypto/SecureRandom.h uses uint64_t without including cstdint, that causes a compilation error on gcc-15.
This PR is adding the #include to fix the compile error.

Check all that applies:

  • Did a review by yourself.
  • Added proper tests to cover this PR. (If tests are not applicable, explain.)
    • I believe this PR is simple enough to skip the test.
  • Checked if this PR is a breaking (APIs have been changed) change.
  • Checked if this PR will not introduce cross-platform inconsistent behavior.
  • Checked if this PR would require a ReadMe/Wiki update.

Check which platforms you have built SDK on to verify the correctness of this PR.

  • Linux
  • Windows
  • Android
  • MacOS
  • IOS
  • Other Platforms

By submitting this pull request, I confirm that you can use, modify, copy, and redistribute this contribution, under the terms of your choice.

@sbiscigl
Copy link
Contributor

sbiscigl commented Dec 17, 2025

to fix the compile error.

out of curiosity what platform and toolchain does this cause a failure for? more so looking for gaps in our CI

that causes a compilation error on gcc-15.

sorry you did mention

@tzik
Copy link
Author

tzik commented Dec 17, 2025

to fix the compile error.

out of curiosity what platform and toolchain does this cause a failure for? more so looking for gaps in our CI

that causes a compilation error on gcc-15.

sorry you did mention

I'm on Ubuntu 25.10, and using gcc-15 as it's the default compiler.
According to an announcement about gcc-15, it seems to have removed some implicit #include to stdint.h to comply a spec change.

Header dependency changes
Some C++ Standard Library headers have been changed to no longer include other headers that were being used internally by the library. As such, C++ programs that used standard library components without including the right headers will no longer compile.

In particular, the following headers are used less widely within libstdc++ and may need to be included explicitly when compiling with GCC 15:

  • <stdint.h> (for int8_t, int32_t etc.) and (for std::int8_t, std::int32_t etc.)
  • (for std::endl, std::flush etc.)

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.

2 participants