[llvm-branch-commits] [llvm] 524f246 - Revert "[llvm-debuginfo-analyzer] Fix missed 'else' in LVCodeViewReader and …"
via llvm-branch-commits
llvm-branch-commits at lists.llvm.org
Wed Apr 8 22:10:07 PDT 2026
Author: Carlos Alberto Enciso
Date: 2026-04-09T06:10:03+01:00
New Revision: 524f246f77585dc471faa75562fa26ea55290736
URL: https://github.com/llvm/llvm-project/commit/524f246f77585dc471faa75562fa26ea55290736
DIFF: https://github.com/llvm/llvm-project/commit/524f246f77585dc471faa75562fa26ea55290736.diff
LOG: Revert "[llvm-debuginfo-analyzer] Fix missed 'else' in LVCodeViewReader and …"
This reverts commit 82aee4c03a0a6e3ab616b5253edf79b48e013b71.
Added:
Modified:
llvm/lib/DebugInfo/LogicalView/Readers/LVCodeViewReader.cpp
llvm/lib/DebugInfo/LogicalView/Readers/LVDWARFReader.cpp
llvm/unittests/DebugInfo/LogicalView/DWARFReaderTest.cpp
Removed:
################################################################################
diff --git a/llvm/lib/DebugInfo/LogicalView/Readers/LVCodeViewReader.cpp b/llvm/lib/DebugInfo/LogicalView/Readers/LVCodeViewReader.cpp
index 95ce3fd02ad8c..2ff70816b4bf1 100644
--- a/llvm/lib/DebugInfo/LogicalView/Readers/LVCodeViewReader.cpp
+++ b/llvm/lib/DebugInfo/LogicalView/Readers/LVCodeViewReader.cpp
@@ -1183,11 +1183,13 @@ Error LVCodeViewReader::loadTargetInfo(const ObjectFile &Obj) {
TT.setOS(Triple::UnknownOS);
// Features to be passed to target/subtarget
+ Expected<SubtargetFeatures> Features = Obj.getFeatures();
SubtargetFeatures FeaturesValue;
- if (Expected<SubtargetFeatures> Features = Obj.getFeatures())
- FeaturesValue = std::move(*Features);
- else
+ if (!Features) {
consumeError(Features.takeError());
+ FeaturesValue = SubtargetFeatures();
+ }
+ FeaturesValue = *Features;
StringRef CPU;
if (auto OptCPU = Obj.tryGetCPUName())
diff --git a/llvm/lib/DebugInfo/LogicalView/Readers/LVDWARFReader.cpp b/llvm/lib/DebugInfo/LogicalView/Readers/LVDWARFReader.cpp
index 9e0d5389e87bd..772d821dcda81 100644
--- a/llvm/lib/DebugInfo/LogicalView/Readers/LVDWARFReader.cpp
+++ b/llvm/lib/DebugInfo/LogicalView/Readers/LVDWARFReader.cpp
@@ -962,11 +962,13 @@ Error LVDWARFReader::loadTargetInfo(const ObjectFile &Obj) {
Triple TT = Obj.makeTriple();
// Features to be passed to target/subtarget
+ Expected<SubtargetFeatures> Features = Obj.getFeatures();
SubtargetFeatures FeaturesValue;
- if (Expected<SubtargetFeatures> Features = Obj.getFeatures())
- FeaturesValue = std::move(*Features);
- else
+ if (!Features) {
consumeError(Features.takeError());
+ FeaturesValue = SubtargetFeatures();
+ }
+ FeaturesValue = *Features;
StringRef CPU;
if (auto OptCPU = Obj.tryGetCPUName())
diff --git a/llvm/unittests/DebugInfo/LogicalView/DWARFReaderTest.cpp b/llvm/unittests/DebugInfo/LogicalView/DWARFReaderTest.cpp
index 5a5497dc78720..fb728c8c22e77 100644
--- a/llvm/unittests/DebugInfo/LogicalView/DWARFReaderTest.cpp
+++ b/llvm/unittests/DebugInfo/LogicalView/DWARFReaderTest.cpp
@@ -13,13 +13,11 @@
#include "llvm/DebugInfo/LogicalView/Core/LVType.h"
#include "llvm/DebugInfo/LogicalView/LVReaderHandler.h"
#include "llvm/MC/TargetRegistry.h"
-#include "llvm/ObjectYAML/yaml2obj.h"
#include "llvm/Support/COM.h"
#include "llvm/Support/InitLLVM.h"
#include "llvm/Support/ScopedPrinter.h"
#include "llvm/Support/TargetSelect.h"
#include "llvm/Support/ToolOutputFile.h"
-#include "llvm/Support/YAMLTraits.h"
#include "llvm/Testing/Support/Error.h"
#include "gtest/gtest.h"
@@ -57,8 +55,7 @@ std::unique_ptr<LVReader> createReader(LVReaderHandler &ReaderHandler,
SmallString<128> &InputsDir,
StringRef Filename) {
SmallString<128> ObjectName(InputsDir);
- if (Filename != "")
- llvm::sys::path::append(ObjectName, Filename);
+ llvm::sys::path::append(ObjectName, Filename);
Expected<std::unique_ptr<LVReader>> ReaderOrErr =
ReaderHandler.createReader(std::string(ObjectName));
@@ -419,75 +416,4 @@ TEST(LogicalViewTest, DWARFReader) {
compareElements(InputsDir);
}
-bool CreateTempBrokenFile(SmallString<128> &TempPath) {
- // create broken, but syntax correct Yaml file
- // 0x41 - version of format
- // 0x05000000 - length of section, false equal to 5 byte
- StringRef Yaml = R"(
---- !ELF
-FileHeader:
- Class: ELFCLASS64
- Data: ELFDATA2LSB
- Type: ET_REL
- Machine: EM_RISCV
-Sections:
- - Name: .riscv.attributes
- Type: SHT_RISCV_ATTRIBUTES
- Content: 4105000000
-DWARF:
- debug_abbrev:
- - Table:
- - Code: 1
- Tag: DW_TAG_compile_unit
- Children: DW_CHILDREN_no
-)";
-
- int FD;
- sys::fs::createTemporaryFile("test-broken-dwarf", "", FD, TempPath);
- raw_fd_ostream OS(FD, /*shouldClose=*/true);
-
- llvm::yaml::Input YIn(Yaml);
- const bool Success = llvm::yaml::convertYAML(
- YIn, OS, [](const Twine &Msg) { FAIL() << Msg.str(); });
- if (!Success)
- return false;
- OS.flush();
-
- return true;
-}
-
-TEST(LogicalViewTest, DWARFReader_ReadBrokenFile) {
- // Initialize targets and assembly printers/parsers.
- llvm::InitializeAllTargetInfos();
- llvm::InitializeAllTargetMCs();
- InitializeAllDisassemblers();
-
- llvm::sys::InitializeCOMRAII COM(llvm::sys::COMThreadingMode::MultiThreaded);
-
- // This test requires a x86-registered-target.
- Triple TT;
- TT.setArch(Triple::riscv64);
- TT.setVendor(Triple::UnknownVendor);
- TT.setOS(Triple::UnknownOS);
-
- std::string TargetLookupError;
- if (!TargetRegistry::lookupTarget(TT, TargetLookupError))
- GTEST_SKIP();
-
- // Reader options.
- LVOptions ReaderOptions;
- std::vector<std::string> Objects;
- ScopedPrinter W(outs());
- LVReaderHandler ReaderHandler(Objects, W, ReaderOptions);
-
- SmallString<128> TempPath;
- if (!CreateTempBrokenFile(TempPath))
- GTEST_SKIP();
-
- // Check logical elements properties.
- std::unique_ptr<LVReader> Reader = createReader(ReaderHandler, TempPath, "");
-
- sys::fs::remove(TempPath);
-}
-
} // namespace
More information about the llvm-branch-commits
mailing list