forked from OSchip/llvm-project
[llvm-readobj] - An attempt to fix BB.
http://lab.llvm.org:8011/builders/clang-cmake-x86_64-avx2-linux/builds/15710/steps/build%20stage%201/logs/stdio fails with: /home/ssglocal/clang-cmake-x86_64-avx2-linux/clang-cmake-x86_64-avx2-linux/llvm/llvm/tools/llvm-readobj/ELFDumper.cpp: In function ‘llvm::Expected<const llvm::object::Elf_Mips_Options<ELFT>*> readMipsOptions(const uint8_t*, llvm::ArrayRef<unsigned char>&, bool&)’: /home/ssglocal/clang-cmake-x86_64-avx2-linux/clang-cmake-x86_64-avx2-linux/llvm/llvm/tools/llvm-readobj/ELFDumper.cpp:3373:19: error: the value of ‘ExpectedSize’ is not usable in a constant expression if (O->size < ExpectedSize) ^ /home/ssglocal/clang-cmake-x86_64-avx2-linux/clang-cmake-x86_64-avx2-linux/llvm/llvm/tools/llvm-readobj/ELFDumper.cpp:3369:10: note: ‘size_t ExpectedSize’ is not const size_t ExpectedSize = ^ /home/ssglocal/clang-cmake-x86_64-avx2-linux/clang-cmake-x86_64-avx2-linux/llvm/llvm/tools/llvm-readobj/ELFDumper.cpp:3373:12: error: parse error in template argument list if (O->size < ExpectedSize) ^ /home/ssglocal/clang-cmake-x86_64-avx2-linux/clang-cmake-x86_64-avx2-linux/llvm/llvm/tools/llvm-readobj/ELFDumper.cpp: In instantiation of ‘llvm::Expected<const llvm::object::Elf_Mips_Options<ELFT>*> readMipsOptions(const uint8_t*, llvm::ArrayRef<unsigned char>&, bool&) [with ELFT = llvm::object::ELFType<(llvm::support::endianness)0u, true>; uint8_t = unsigned char]’: /home/ssglocal/clang-cmake-x86_64-avx2-linux/clang-cmake-x86_64-avx2-linux/llvm/llvm/tools/llvm-readobj/ELFDumper.cpp:3400:30: required from ‘void {anonymous}::ELFDumper<ELFT>::printMipsOptions() [with ELFT = llvm::object::ELFType<(llvm::support::endianness)0u, true>]’ /home/ssglocal/clang-cmake-x86_64-avx2-linux/clang-cmake-x86_64-avx2-linux/llvm/llvm/tools/llvm-readobj/ELFDumper.cpp:2878:21: required from ‘void {anonymous}::ELFDumper<ELFT>::printArchSpecificInfo() [with ELFT = llvm::object::ELFType<(llvm::support::endianness)0u, true>]’ /home/ssglocal/clang-cmake-x86_64-avx2-linux/clang-cmake-x86_64-avx2-linux/llvm/llvm/tools/llvm-readobj/ELFDumper.cpp:6999:1: required from here /home/ssglocal/clang-cmake-x86_64-avx2-linux/clang-cmake-x86_64-avx2-linux/llvm/llvm/tools/llvm-readobj/ELFDumper.cpp:3373:5: error: ‘size’ is not a member template function Fix: add 2 `const` words to variables.
This commit is contained in:
parent
9486201837
commit
d9d2210579
|
@ -3354,7 +3354,7 @@ readMipsOptions(const uint8_t *SecBegin, ArrayRef<uint8_t> &SecData,
|
|||
return createError("the .MIPS.options section has an invalid size (0x" +
|
||||
Twine::utohexstr(SecData.size()) + ")");
|
||||
|
||||
auto *O = reinterpret_cast<const Elf_Mips_Options<ELFT> *>(SecData.data());
|
||||
const auto *O = reinterpret_cast<const Elf_Mips_Options<ELFT> *>(SecData.data());
|
||||
if (O->size > SecData.size()) {
|
||||
const uint64_t Offset = SecData.data() - SecBegin;
|
||||
const uint64_t SecSize = Offset + SecData.size();
|
||||
|
@ -3366,7 +3366,7 @@ readMipsOptions(const uint8_t *SecBegin, ArrayRef<uint8_t> &SecData,
|
|||
}
|
||||
|
||||
IsSupported = O->kind == ODK_REGINFO;
|
||||
size_t ExpectedSize =
|
||||
const size_t ExpectedSize =
|
||||
sizeof(Elf_Mips_Options<ELFT>) + sizeof(Elf_Mips_RegInfo<ELFT>);
|
||||
|
||||
if (IsSupported)
|
||||
|
|
Loading…
Reference in New Issue