diff options
author | Fangrui Song <i@maskray.me> | 2022-12-17 01:42:39 +0000 |
---|---|---|
committer | Fangrui Song <i@maskray.me> | 2022-12-17 01:42:39 +0000 |
commit | 67ba5c507af2264ff79e4948b976477929436e86 (patch) | |
tree | 348168ed615f4ad4955b4870c6a1b49283288f87 /llvm/unittests/DebugInfo/DWARF/DWARFDebugInfoTest.cpp | |
parent | 6d1d055fad502e0751d59c31ca915737b73e002f (diff) | |
download | llvm-67ba5c507af2264ff79e4948b976477929436e86.zip llvm-67ba5c507af2264ff79e4948b976477929436e86.tar.gz llvm-67ba5c507af2264ff79e4948b976477929436e86.tar.bz2 |
std::optional::value => operator*/operator->
value() has undesired exception checking semantics and calls
__throw_bad_optional_access in libc++. Moreover, the API is unavailable without
_LIBCPP_NO_EXCEPTIONS on older Mach-O platforms (see
_LIBCPP_AVAILABILITY_BAD_OPTIONAL_ACCESS).
This fixes check-llvm.
Diffstat (limited to 'llvm/unittests/DebugInfo/DWARF/DWARFDebugInfoTest.cpp')
-rw-r--r-- | llvm/unittests/DebugInfo/DWARF/DWARFDebugInfoTest.cpp | 16 |
1 files changed, 8 insertions, 8 deletions
diff --git a/llvm/unittests/DebugInfo/DWARF/DWARFDebugInfoTest.cpp b/llvm/unittests/DebugInfo/DWARF/DWARFDebugInfoTest.cpp index eb47eae..edda022 100644 --- a/llvm/unittests/DebugInfo/DWARF/DWARFDebugInfoTest.cpp +++ b/llvm/unittests/DebugInfo/DWARF/DWARFDebugInfoTest.cpp @@ -252,7 +252,7 @@ void TestAllForms() { EXPECT_TRUE((bool)FormValue); BlockDataOpt = FormValue->getAsBlock(); EXPECT_TRUE(BlockDataOpt.has_value()); - ExtractedBlockData = BlockDataOpt.value(); + ExtractedBlockData = *BlockDataOpt; EXPECT_EQ(ExtractedBlockData.size(), BlockSize); EXPECT_TRUE(memcmp(ExtractedBlockData.data(), BlockData, BlockSize) == 0); @@ -260,7 +260,7 @@ void TestAllForms() { EXPECT_TRUE((bool)FormValue); BlockDataOpt = FormValue->getAsBlock(); EXPECT_TRUE(BlockDataOpt.has_value()); - ExtractedBlockData = BlockDataOpt.value(); + ExtractedBlockData = *BlockDataOpt; EXPECT_EQ(ExtractedBlockData.size(), BlockSize); EXPECT_TRUE(memcmp(ExtractedBlockData.data(), BlockData, BlockSize) == 0); @@ -268,7 +268,7 @@ void TestAllForms() { EXPECT_TRUE((bool)FormValue); BlockDataOpt = FormValue->getAsBlock(); EXPECT_TRUE(BlockDataOpt.has_value()); - ExtractedBlockData = BlockDataOpt.value(); + ExtractedBlockData = *BlockDataOpt; EXPECT_EQ(ExtractedBlockData.size(), BlockSize); EXPECT_TRUE(memcmp(ExtractedBlockData.data(), BlockData, BlockSize) == 0); @@ -276,7 +276,7 @@ void TestAllForms() { EXPECT_TRUE((bool)FormValue); BlockDataOpt = FormValue->getAsBlock(); EXPECT_TRUE(BlockDataOpt.has_value()); - ExtractedBlockData = BlockDataOpt.value(); + ExtractedBlockData = *BlockDataOpt; EXPECT_EQ(ExtractedBlockData.size(), BlockSize); EXPECT_TRUE(memcmp(ExtractedBlockData.data(), BlockData, BlockSize) == 0); @@ -286,7 +286,7 @@ void TestAllForms() { EXPECT_TRUE((bool)FormValue); BlockDataOpt = FormValue->getAsBlock(); EXPECT_TRUE(BlockDataOpt.has_value()); - ExtractedBlockData = BlockDataOpt.value(); + ExtractedBlockData = *BlockDataOpt; EXPECT_EQ(ExtractedBlockData.size(), 16u); EXPECT_TRUE(memcmp(ExtractedBlockData.data(), Data16, 16) == 0); } @@ -988,21 +988,21 @@ template <uint16_t Version, class AddrType> void TestAddresses() { EXPECT_FALSE((bool)OptU64); } else { EXPECT_TRUE((bool)OptU64); - EXPECT_EQ(OptU64.value(), ActualHighPC); + EXPECT_EQ(*OptU64, ActualHighPC); } // Get the high PC as an unsigned constant. This should succeed if the high PC // was encoded as an offset and fail if the high PC was encoded as an address. OptU64 = toUnsigned(SubprogramDieLowHighPC.find(DW_AT_high_pc)); if (SupportsHighPCAsOffset) { EXPECT_TRUE((bool)OptU64); - EXPECT_EQ(OptU64.value(), ActualHighPCOffset); + EXPECT_EQ(*OptU64, ActualHighPCOffset); } else { EXPECT_FALSE((bool)OptU64); } OptU64 = SubprogramDieLowHighPC.getHighPC(ActualLowPC); EXPECT_TRUE((bool)OptU64); - EXPECT_EQ(OptU64.value(), ActualHighPC); + EXPECT_EQ(*OptU64, ActualHighPC); EXPECT_TRUE(SubprogramDieLowHighPC.getLowAndHighPC(LowPC, HighPC, SectionIndex)); EXPECT_EQ(LowPC, ActualLowPC); |