[llvm] [Analysis] Ensure use of strict fp exceptions in ConstantFolding (PR #136139)

LLVM Continuous Integration via llvm-commits llvm-commits at lists.llvm.org
Mon Apr 28 02:18:35 PDT 2025


llvm-ci wrote:

LLVM Buildbot has detected a new failure on builder `clang-m68k-linux-cross` running on `suse-gary-m68k-cross` while building `llvm` at step 4 "build stage 1".

Full details are available at: https://lab.llvm.org/buildbot/#/builders/27/builds/9258

<details>
<summary>Here is the relevant piece of the build log for the reference</summary>

```
Step 4 (build stage 1) failure: 'ninja' (failure)
...
[1095/4826] Building CXX object lib/ProfileData/CMakeFiles/LLVMProfileData.dir/GCOV.cpp.o
[1096/4826] Building CXX object lib/ProfileData/CMakeFiles/LLVMProfileData.dir/PGOCtxProfWriter.cpp.o
[1097/4826] Building CXX object lib/Analysis/CMakeFiles/LLVMAnalysis.dir/AliasAnalysisEvaluator.cpp.o
[1098/4826] Building CXX object lib/AsmParser/CMakeFiles/LLVMAsmParser.dir/LLParser.cpp.o
[1099/4826] Linking CXX static library lib/libLLVMAsmParser.a
[1100/4826] Linking CXX static library lib/libLLVMIRReader.a
[1101/4826] Building CXX object lib/Analysis/CMakeFiles/LLVMAnalysis.dir/CFGSCCPrinter.cpp.o
[1102/4826] Building CXX object lib/ProfileData/CMakeFiles/LLVMProfileData.dir/ProfileSummaryBuilder.cpp.o
[1103/4826] Building CXX object lib/Analysis/CMakeFiles/LLVMAnalysis.dir/AliasAnalysis.cpp.o
[1104/4826] Building CXX object lib/Analysis/CMakeFiles/LLVMAnalysis.dir/ConstantFolding.cpp.o
FAILED: lib/Analysis/CMakeFiles/LLVMAnalysis.dir/ConstantFolding.cpp.o 
/usr/bin/c++ -DGTEST_HAS_RTTI=0 -DHAS_LOGF128 -D_DEBUG -D_GLIBCXX_ASSERTIONS -D_GNU_SOURCE -D__STDC_CONSTANT_MACROS -D__STDC_FORMAT_MACROS -D__STDC_LIMIT_MACROS -I/var/lib/buildbot/workers/suse-gary-m68k-cross/clang-m68k-linux-cross/stage1/lib/Analysis -I/var/lib/buildbot/workers/suse-gary-m68k-cross/clang-m68k-linux-cross/llvm/llvm/lib/Analysis -I/var/lib/buildbot/workers/suse-gary-m68k-cross/clang-m68k-linux-cross/stage1/include -I/var/lib/buildbot/workers/suse-gary-m68k-cross/clang-m68k-linux-cross/llvm/llvm/include -fPIC -fno-semantic-interposition -fvisibility-inlines-hidden -Werror=date-time -Wall -Wextra -Wno-unused-parameter -Wwrite-strings -Wcast-qual -Wno-missing-field-initializers -pedantic -Wno-long-long -Wimplicit-fallthrough -Wno-maybe-uninitialized -Wno-nonnull -Wno-class-memaccess -Wno-redundant-move -Wno-pessimizing-move -Wno-noexcept-type -Wdelete-non-virtual-dtor -Wsuggest-override -Wno-comment -Wno-misleading-indentation -Wctad-maybe-unsupported -fdiagnostics-color -ffunction-sections -fdata-sections -O3 -DNDEBUG -std=c++17  -fno-exceptions -funwind-tables -fno-rtti -UNDEBUG -ffp-exception-behavior=strict -MD -MT lib/Analysis/CMakeFiles/LLVMAnalysis.dir/ConstantFolding.cpp.o -MF lib/Analysis/CMakeFiles/LLVMAnalysis.dir/ConstantFolding.cpp.o.d -o lib/Analysis/CMakeFiles/LLVMAnalysis.dir/ConstantFolding.cpp.o -c /var/lib/buildbot/workers/suse-gary-m68k-cross/clang-m68k-linux-cross/llvm/llvm/lib/Analysis/ConstantFolding.cpp
c++: error: unrecognized command-line option ‘-ffp-exception-behavior=strict’
[1105/4826] Building CXX object lib/DebugInfo/PDB/CMakeFiles/LLVMDebugInfoPDB.dir/Native/SymbolCache.cpp.o
[1106/4826] Building CXX object lib/DebugInfo/DWARF/CMakeFiles/LLVMDebugInfoDWARF.dir/DWARFVerifier.cpp.o
[1107/4826] Building CXX object lib/ProfileData/CMakeFiles/LLVMProfileData.dir/InstrProfCorrelator.cpp.o
[1108/4826] Building CXX object lib/Analysis/CMakeFiles/LLVMAnalysis.dir/AssumeBundleQueries.cpp.o
[1109/4826] Building CXX object lib/ProfileData/CMakeFiles/LLVMProfileData.dir/PGOCtxProfReader.cpp.o
[1110/4826] Building CXX object lib/ProfileData/CMakeFiles/LLVMProfileData.dir/IndexedMemProfData.cpp.o
[1111/4826] Building CXX object lib/DebugInfo/Symbolize/CMakeFiles/LLVMSymbolize.dir/Symbolize.cpp.o
[1112/4826] Building CXX object lib/Analysis/CMakeFiles/LLVMAnalysis.dir/CFG.cpp.o
[1113/4826] Building CXX object lib/Analysis/CMakeFiles/LLVMAnalysis.dir/AliasSetTracker.cpp.o
[1114/4826] Building CXX object lib/ProfileData/CMakeFiles/LLVMProfileData.dir/MemProf.cpp.o
[1115/4826] Building CXX object lib/Analysis/CMakeFiles/LLVMAnalysis.dir/AssumptionCache.cpp.o
[1116/4826] Building CXX object lib/Analysis/CMakeFiles/LLVMAnalysis.dir/BlockFrequencyInfoImpl.cpp.o
[1117/4826] Building CXX object lib/ProfileData/CMakeFiles/LLVMProfileData.dir/ItaniumManglingCanonicalizer.cpp.o
[1118/4826] Building CXX object lib/ProfileData/CMakeFiles/LLVMProfileData.dir/SampleProfWriter.cpp.o
[1119/4826] Building CXX object lib/Analysis/CMakeFiles/LLVMAnalysis.dir/CallPrinter.cpp.o
[1120/4826] Building CXX object lib/ProfileData/CMakeFiles/LLVMProfileData.dir/InstrProf.cpp.o
[1121/4826] Building CXX object lib/Object/CMakeFiles/LLVMObject.dir/ELF.cpp.o
/var/lib/buildbot/workers/suse-gary-m68k-cross/clang-m68k-linux-cross/llvm/llvm/lib/Object/ELF.cpp: In instantiation of ‘llvm::Expected<llvm::MapVector<const typename ELFT::Shdr*, const typename ELFT::Shdr*> > llvm::object::ELFFile<ELFT>::getSectionAndRelocations(std::function<llvm::Expected<bool>(const typename ELFT::Shdr&)>) const [with ELFT = llvm::object::ELFType<llvm::endianness::little, false>; typename ELFT::Shdr = llvm::object::Elf_Shdr_Impl<llvm::object::ELFType<llvm::endianness::little, false> >]’:
/var/lib/buildbot/workers/suse-gary-m68k-cross/clang-m68k-linux-cross/llvm/llvm/lib/Object/ELF.cpp:999:51:   required from here
  999 | template class LLVM_EXPORT_TEMPLATE llvm::object::ELFFile<ELF32LE>;
      |                                                   ^~~~~~~~~~~~~~~~
/var/lib/buildbot/workers/suse-gary-m68k-cross/clang-m68k-linux-cross/llvm/llvm/lib/Object/ELF.cpp:961:3: warning: possibly dangling reference to a temporary [-Wdangling-reference]
  961 |   for (const Elf_Shdr &Sec : cantFail(this->sections())) {
      |   ^~~
/var/lib/buildbot/workers/suse-gary-m68k-cross/clang-m68k-linux-cross/llvm/llvm/lib/Object/ELF.cpp:961:38: note: the temporary was destroyed at the end of the full expression ‘llvm::cantFail<ArrayRef<object::Elf_Shdr_Impl<object::ELFType<llvm::endianness::little, false> > > >(llvm::object::ELFFile<ELFT>::sections() const [with ELFT = llvm::object::ELFType<llvm::endianness::little, false>; typename ELFT::ShdrRange = llvm::ArrayRef<llvm::object::Elf_Shdr_Impl<llvm::object::ELFType<llvm::endianness::little, false> > >](), 0)’
  961 |   for (const Elf_Shdr &Sec : cantFail(this->sections())) {
      |                              ~~~~~~~~^~~~~~~~~~~~~~~~~~
/var/lib/buildbot/workers/suse-gary-m68k-cross/clang-m68k-linux-cross/llvm/llvm/lib/Object/ELF.cpp: In instantiation of ‘llvm::Expected<llvm::MapVector<const typename ELFT::Shdr*, const typename ELFT::Shdr*> > llvm::object::ELFFile<ELFT>::getSectionAndRelocations(std::function<llvm::Expected<bool>(const typename ELFT::Shdr&)>) const [with ELFT = llvm::object::ELFType<llvm::endianness::big, false>; typename ELFT::Shdr = llvm::object::Elf_Shdr_Impl<llvm::object::ELFType<llvm::endianness::big, false> >]’:
/var/lib/buildbot/workers/suse-gary-m68k-cross/clang-m68k-linux-cross/llvm/llvm/lib/Object/ELF.cpp:1000:51:   required from here
 1000 | template class LLVM_EXPORT_TEMPLATE llvm::object::ELFFile<ELF32BE>;
      |                                                   ^~~~~~~~~~~~~~~~
/var/lib/buildbot/workers/suse-gary-m68k-cross/clang-m68k-linux-cross/llvm/llvm/lib/Object/ELF.cpp:961:3: warning: possibly dangling reference to a temporary [-Wdangling-reference]
  961 |   for (const Elf_Shdr &Sec : cantFail(this->sections())) {
      |   ^~~
/var/lib/buildbot/workers/suse-gary-m68k-cross/clang-m68k-linux-cross/llvm/llvm/lib/Object/ELF.cpp:961:38: note: the temporary was destroyed at the end of the full expression ‘llvm::cantFail<ArrayRef<object::Elf_Shdr_Impl<object::ELFType<llvm::endianness::big, false> > > >(llvm::object::ELFFile<ELFT>::sections() const [with ELFT = llvm::object::ELFType<llvm::endianness::big, false>; typename ELFT::ShdrRange = llvm::ArrayRef<llvm::object::Elf_Shdr_Impl<llvm::object::ELFType<llvm::endianness::big, false> > >](), 0)’
  961 |   for (const Elf_Shdr &Sec : cantFail(this->sections())) {

```

</details>

https://github.com/llvm/llvm-project/pull/136139


More information about the llvm-commits mailing list