dtcxzyw wrote: `APInt::getAllOnes` will assert if `BitWidth == 0`. ``` [----------] 6 tests from APFloatTest [ RUN ] APFloatTest.MinimumNumber [ OK ] APFloatTest.MinimumNumber (0 ms) [ RUN ] APFloatTest.Float8E8M0FNUValues ADTTests: /home/dtcxzyw/WorkSpace/Projects/compilers/llvm-project/llvm/include/llvm/ADT/APInt.h:116: llvm::APInt::APInt(unsigned int, uint64_t, bool, bool): Assertion `val == 0 && "Value must be zero for 0-bit APInt"' failed. #0 0x00007ffff7e15c32 llvm::sys::PrintStackTrace(llvm::raw_ostream&, int) (/home/dtcxzyw/WorkSpace/Projects/compilers/LLVM/llvm-build/lib/libLLVMSupport.so.20.0git+0x215c32) #1 0x00007ffff7e12aff llvm::sys::RunSignalHandlers() (/home/dtcxzyw/WorkSpace/Projects/compilers/LLVM/llvm-build/lib/libLLVMSupport.so.20.0git+0x212aff) #2 0x00007ffff7e12c45 SignalHandler(int) Signals.cpp:0:0 #3 0x00007ffff7442520 (/lib/x86_64-linux-gnu/libc.so.6+0x42520) #4 0x00007ffff74969fc __pthread_kill_implementation ./nptl/pthread_kill.c:44:76 #5 0x00007ffff74969fc __pthread_kill_internal ./nptl/pthread_kill.c:78:10 #6 0x00007ffff74969fc pthread_kill ./nptl/pthread_kill.c:89:10 #7 0x00007ffff7442476 gsignal ./signal/../sysdeps/posix/raise.c:27:6 #8 0x00007ffff74287f3 abort ./stdlib/abort.c:81:7 #9 0x00007ffff742871b _nl_load_domain ./intl/loadmsgcat.c:1177:9 #10 0x00007ffff7439e96 (/lib/x86_64-linux-gnu/libc.so.6+0x39e96) #11 0x00007ffff7c97cb6 (/home/dtcxzyw/WorkSpace/Projects/compilers/LLVM/llvm-build/lib/libLLVMSupport.so.20.0git+0x97cb6) #12 0x00007ffff7c98b83 llvm::detail::IEEEFloat::makeNaN(bool, bool, llvm::APInt const*) (/home/dtcxzyw/WorkSpace/Projects/compilers/LLVM/llvm-build/lib/libLLVMSupport.so.20.0git+0x98b83) #13 0x00007ffff7c9e019 llvm::detail::IEEEFloat::convertFromStringSpecials(llvm::StringRef) (/home/dtcxzyw/WorkSpace/Projects/compilers/LLVM/llvm-build/lib/libLLVMSupport.so.20.0git+0x9e019) #14 0x00007ffff7caef9d llvm::detail::IEEEFloat::convertFromString(llvm::StringRef, llvm::RoundingMode) (/home/dtcxzyw/WorkSpace/Projects/compilers/LLVM/llvm-build/lib/libLLVMSupport.so.20.0git+0xaef9d) #15 0x00007ffff7caf4f6 llvm::APFloat::APFloat(llvm::fltSemantics const&, llvm::StringRef) (/home/dtcxzyw/WorkSpace/Projects/compilers/LLVM/llvm-build/lib/libLLVMSupport.so.20.0git+0xaf4f6) #16 0x000055555585e240 (anonymous namespace)::APFloatTest_Float8E8M0FNUValues_Test::TestBody() APFloatTest.cpp:0:0 #17 0x00007ffff7f6e9d1 void testing::internal::HandleExceptionsInMethodIfSupported<testing::Test, void>(testing::Test*, void (testing::Test::*)(), char const*) (/home/dtcxzyw/WorkSpace/Projects/compilers/LLVM/llvm-build/lib/libllvm_gtest.so.20.0git+0x569d1) #18 0x00007ffff7f6ef2a testing::Test::Run() (.part.0) gtest-all.cc:0:0 #19 0x00007ffff7f6fc02 testing::TestInfo::Run() (/home/dtcxzyw/WorkSpace/Projects/compilers/LLVM/llvm-build/lib/libllvm_gtest.so.20.0git+0x57c02) #20 0x00007ffff7f721e9 testing::TestSuite::Run() (.part.0) gtest-all.cc:0:0 #21 0x00007ffff7f7c18b testing::internal::UnitTestImpl::RunAllTests() (/home/dtcxzyw/WorkSpace/Projects/compilers/LLVM/llvm-build/lib/libllvm_gtest.so.20.0git+0x6418b) #22 0x00007ffff7f6e441 testing::UnitTest::Run() (/home/dtcxzyw/WorkSpace/Projects/compilers/LLVM/llvm-build/lib/libllvm_gtest.so.20.0git+0x56441) #23 0x00007ffff7fb71cc main (/home/dtcxzyw/WorkSpace/Projects/compilers/LLVM/llvm-build/lib/libllvm_gtest_main.so.20.0git+0x11cc) #24 0x00007ffff7429d90 __libc_start_call_main ./csu/../sysdeps/nptl/libc_start_call_main.h:58:16 #25 0x00007ffff7429e40 call_init ./csu/../csu/libc-start.c:128:20 #26 0x00007ffff7429e40 __libc_start_main ./csu/../csu/libc-start.c:379:5 #27 0x00005555557b7075 _start (/home/dtcxzyw/WorkSpace/Projects/compilers/LLVM/llvm-build/unittests/ADT/./ADTTests+0x263075) ``` Would be better to handle this corner case in `IEEEFloat::makeNaN`: https://github.com/llvm/llvm-project/blob/81fee740d073640c79c0d45a8e8e804c1c5fea40/llvm/lib/Support/APFloat.cpp#L966
https://github.com/llvm/llvm-project/pull/80309 _______________________________________________ lldb-commits mailing list lldb-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits