aboutsummaryrefslogtreecommitdiff
path: root/llvm/lib/CodeGen/TargetLoweringObjectFileImpl.cpp
diff options
context:
space:
mode:
authorFangrui Song <i@maskray.me>2023-07-25 17:21:16 -0700
committerFangrui Song <i@maskray.me>2023-07-25 17:21:16 -0700
commit6a684dbc4433a33e5f94fb15c9e378a2408021e0 (patch)
tree3738086acbba9da7c117b3a883b00988f865dd69 /llvm/lib/CodeGen/TargetLoweringObjectFileImpl.cpp
parent2d0ac43df4f5cc7ceeb8979d6394eb03642539d9 (diff)
downloadllvm-6a684dbc4433a33e5f94fb15c9e378a2408021e0.zip
llvm-6a684dbc4433a33e5f94fb15c9e378a2408021e0.tar.gz
llvm-6a684dbc4433a33e5f94fb15c9e378a2408021e0.tar.bz2
[Support] Remove llvm::is_trivially_{copy/move}_constructible
This restores D132311, which was reverted in 29c841ce93e087fa4e0c5f3abae94edd460bc24a (Sep 2022) due to certain files not buildable with GCC 7.3.0. The previous attempt was reverted by 6cd9608fb37ca2418fb44b57ec955bb5efe10689 (Dec 2020). This time, GCC 7.3.0 has existing build errors for a long time due to structured bindings for many files, e.g. ``` llvm/lib/Transforms/Vectorize/LoopVectorize.cpp:9098:13: error: cannot decompose class type ‘std::pair<llvm::Value*, const llvm::SCEV*>’: both it and it s base class ‘std::pair<llvm::Value*, const llvm::SCEV*>’ have non-static data members for (auto [_, Stride] : Legal->getLAI()->getSymbolicStrides()) { ^~~~~~~~~~~ ``` ... and also some `error: duplicate initialization of` instances due to llvm/Transforms/IPO/Attributor.h. --- GCC 7.5.0 has a bug that, without this change, certain `SmallVector` with a `std::pair` element type like `SmallVector<std::pair<Instruction * const, Info>, 0> X;` lead to spurious ``` /tmp/opt/gcc-7.5.0/include/c++/7.5.0/type_traits:878:48: error: constructor required before non-static data member for ‘...’ has been parsed ``` Switching to std::is_trivially_{copy/move}_constructible fixes the error.
Diffstat (limited to 'llvm/lib/CodeGen/TargetLoweringObjectFileImpl.cpp')
0 files changed, 0 insertions, 0 deletions