Skip to content

Conversation

@thesamesam
Copy link
Member

SmallVector uses uint32_t, uint64_t without including <cstdint> which fails to build w/ GCC 15 after a change in libstdc++ [0]

[0] https://gcc.gnu.org/git/?p=gcc.git;a=commit;h=3a817a4a5a6d94da9127af3be9f84a74e3076ee2

@thesamesam thesamesam requested a review from MaskRay August 2, 2024 22:08
@llvmbot
Copy link
Member

llvmbot commented Aug 2, 2024

@llvm/pr-subscribers-llvm-adt

Author: Sam James (thesamesam)

Changes

SmallVector uses uint32_t, uint64_t without including &lt;cstdint&gt; which fails to build w/ GCC 15 after a change in libstdc++ [0]

[0] https://gcc.gnu.org/git/?p=gcc.git;a=commit;h=3a817a4a5a6d94da9127af3be9f84a74e3076ee2


Full diff: https://github.com/llvm/llvm-project/pull/101761.diff

1 Files Affected:

  • (modified) llvm/include/llvm/ADT/SmallVector.h (+1)
diff --git a/llvm/include/llvm/ADT/SmallVector.h b/llvm/include/llvm/ADT/SmallVector.h
index 09676d792dfeb..17444147b102a 100644
--- a/llvm/include/llvm/ADT/SmallVector.h
+++ b/llvm/include/llvm/ADT/SmallVector.h
@@ -19,6 +19,7 @@
 #include <algorithm>
 #include <cassert>
 #include <cstddef>
+#include <cstdint>
 #include <cstdlib>
 #include <cstring>
 #include <functional>

@thesamesam
Copy link
Member Author

thesamesam commented Aug 2, 2024

Actually, I think to be pedantic, I should do <stdint.h> given we're using unqualified types, but llvm/include/llvm/ADT/* doesn't use qualified types elsewhere for uint* so I don't want the hassle unless someone insists.

(so I'll leave it as-is unless someone asks to change it.)

thesamesam added a commit that referenced this pull request Aug 2, 2024
SmallVector uses `uint32_t`, `uint64_t` without including `<cstdint>`
which fails to build w/ GCC 15 after a change in libstdc++ [0]

[0] https://gcc.gnu.org/git/?p=gcc.git;a=commit;h=3a817a4a5a6d94da9127af3be9f84a74e3076ee2
@thesamesam thesamesam closed this Aug 2, 2024
@thesamesam thesamesam deleted the gcc-15-cstdint branch August 2, 2024 22:41
@thesamesam
Copy link
Member Author

Thanks!

@thesamesam
Copy link
Member Author

/cherry-pick 7e44305

@llvmbot
Copy link
Member

llvmbot commented Aug 2, 2024

/cherry-pick 7e44305

Error: Command failed due to missing milestone.

@thesamesam
Copy link
Member Author

/cherry-pick 7e44305

llvmbot pushed a commit to llvmbot/llvm-project that referenced this pull request Aug 2, 2024
SmallVector uses `uint32_t`, `uint64_t` without including `<cstdint>`
which fails to build w/ GCC 15 after a change in libstdc++ [0]

[0] https://gcc.gnu.org/git/?p=gcc.git;a=commit;h=3a817a4a5a6d94da9127af3be9f84a74e3076ee2

(cherry picked from commit 7e44305)
@llvmbot
Copy link
Member

llvmbot commented Aug 2, 2024

/pull-request #101771

matoro pushed a commit to matoro/llvm-project that referenced this pull request Aug 7, 2024
SmallVector uses `uint32_t`, `uint64_t` without including `<cstdint>`
which fails to build w/ GCC 15 after a change in libstdc++ [0]

[0] https://gcc.gnu.org/git/?p=gcc.git;a=commit;h=3a817a4a5a6d94da9127af3be9f84a74e3076ee2
tru pushed a commit to llvmbot/llvm-project that referenced this pull request Aug 10, 2024
SmallVector uses `uint32_t`, `uint64_t` without including `<cstdint>`
which fails to build w/ GCC 15 after a change in libstdc++ [0]

[0] https://gcc.gnu.org/git/?p=gcc.git;a=commit;h=3a817a4a5a6d94da9127af3be9f84a74e3076ee2

(cherry picked from commit 7e44305)
devajithvs pushed a commit to devajithvs/llvm-project that referenced this pull request Jan 16, 2025
SmallVector uses `uint32_t`, `uint64_t` without including `<cstdint>`
which fails to build w/ GCC 15 after a change in libstdc++ [0]

[0] https://gcc.gnu.org/git/?p=gcc.git;a=commit;h=3a817a4a5a6d94da9127af3be9f84a74e3076ee2
devajithvs pushed a commit to devajithvs/llvm-project that referenced this pull request Jan 24, 2025
SmallVector uses `uint32_t`, `uint64_t` without including `<cstdint>`
which fails to build w/ GCC 15 after a change in libstdc++ [0]

[0] https://gcc.gnu.org/git/?p=gcc.git;a=commit;h=3a817a4a5a6d94da9127af3be9f84a74e3076ee2

(cherry picked from commit 7e44305)
devajithvs pushed a commit to devajithvs/llvm-project that referenced this pull request Feb 6, 2025
SmallVector uses `uint32_t`, `uint64_t` without including `<cstdint>`
which fails to build w/ GCC 15 after a change in libstdc++ [0]

[0] https://gcc.gnu.org/git/?p=gcc.git;a=commit;h=3a817a4a5a6d94da9127af3be9f84a74e3076ee2

(cherry picked from commit 7e44305)
devajithvs pushed a commit to devajithvs/llvm-project that referenced this pull request Feb 6, 2025
SmallVector uses `uint32_t`, `uint64_t` without including `<cstdint>`
which fails to build w/ GCC 15 after a change in libstdc++ [0]

[0] https://gcc.gnu.org/git/?p=gcc.git;a=commit;h=3a817a4a5a6d94da9127af3be9f84a74e3076ee2

(cherry picked from commit 7e44305)
devajithvs pushed a commit to devajithvs/llvm-project that referenced this pull request Feb 7, 2025
SmallVector uses `uint32_t`, `uint64_t` without including `<cstdint>`
which fails to build w/ GCC 15 after a change in libstdc++ [0]

[0] https://gcc.gnu.org/git/?p=gcc.git;a=commit;h=3a817a4a5a6d94da9127af3be9f84a74e3076ee2

(cherry picked from commit 7e44305)
GZGavinZhao pushed a commit to GZGavinZhao/rocm-llvm-project that referenced this pull request May 13, 2025
SmallVector uses `uint32_t`, `uint64_t` without including `<cstdint>`
which fails to build w/ GCC 15 after a change in libstdc++ [0]

[0] https://gcc.gnu.org/git/?p=gcc.git;a=commit;h=3a817a4a5a6d94da9127af3be9f84a74e3076ee2
giordano pushed a commit to JuliaLang/llvm-project that referenced this pull request May 21, 2025
SmallVector uses `uint32_t`, `uint64_t` without including `<cstdint>`
which fails to build w/ GCC 15 after a change in libstdc++ [0]

[0] https://gcc.gnu.org/git/?p=gcc.git;a=commit;h=3a817a4a5a6d94da9127af3be9f84a74e3076ee2

(cherry picked from commit 7e44305)
giordano pushed a commit to JuliaLang/llvm-project that referenced this pull request May 21, 2025
SmallVector uses `uint32_t`, `uint64_t` without including `<cstdint>`
which fails to build w/ GCC 15 after a change in libstdc++ [0]

[0] https://gcc.gnu.org/git/?p=gcc.git;a=commit;h=3a817a4a5a6d94da9127af3be9f84a74e3076ee2

(cherry picked from commit 7e44305)
giordano pushed a commit to JuliaLang/llvm-project that referenced this pull request May 21, 2025
SmallVector uses `uint32_t`, `uint64_t` without including `<cstdint>`
which fails to build w/ GCC 15 after a change in libstdc++ [0]

[0] https://gcc.gnu.org/git/?p=gcc.git;a=commit;h=3a817a4a5a6d94da9127af3be9f84a74e3076ee2

(cherry picked from commit 7e44305)
giordano pushed a commit to JuliaLang/llvm-project that referenced this pull request May 21, 2025
SmallVector uses `uint32_t`, `uint64_t` without including `<cstdint>`
which fails to build w/ GCC 15 after a change in libstdc++ [0]

[0] https://gcc.gnu.org/git/?p=gcc.git;a=commit;h=3a817a4a5a6d94da9127af3be9f84a74e3076ee2

(cherry picked from commit 7e44305)
schilkp pushed a commit to schilkp/llvm-project that referenced this pull request Jun 10, 2025
SmallVector uses `uint32_t`, `uint64_t` without including `<cstdint>`
which fails to build w/ GCC 15 after a change in libstdc++ [0]

[0] https://gcc.gnu.org/git/?p=gcc.git;a=commit;h=3a817a4a5a6d94da9127af3be9f84a74e3076ee2
schilkp pushed a commit to EPFL-LAP/llvm-project that referenced this pull request Jun 13, 2025
SmallVector uses `uint32_t`, `uint64_t` without including `<cstdint>`
which fails to build w/ GCC 15 after a change in libstdc++ [0]

[0] https://gcc.gnu.org/git/?p=gcc.git;a=commit;h=3a817a4a5a6d94da9127af3be9f84a74e3076ee2
JohnReppy added a commit to smlnj/smlnj-llvm-18.1 that referenced this pull request Jul 31, 2025
wmww pushed a commit to wmww/fil-c that referenced this pull request Aug 1, 2025
SmallVector uses `uint32_t`, `uint64_t` without including `<cstdint>`
which fails to build w/ GCC 15 after a change in libstdc++ [0]

[0] https://gcc.gnu.org/git/?p=gcc.git;a=commit;h=3a817a4a5a6d94da9127af3be9f84a74e3076ee2

(cherry picked from commit 7e44305)
ggeorgakoudis added a commit to Olympus-HPC/proteus that referenced this pull request Aug 5, 2025
* Support LLVM 19 and ROCm 6.4.1

- Guard parallel split codegen for LLVM 18 because it requires an interface
exported only in that version
- Update lambda handling as LLVM 19 can generate offsets on a byte pointer
to access the lambda class fields
- Other small code fixes for compatibility with LLVM 19
- Add testing for LLVM 19 and ROCm 6.4.1
- Include cstdint to fix building with GCC >= 15 headers (llvm/llvm-project#101761)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

Development

Successfully merging this pull request may close these issues.

3 participants