[Lldb-commits] [lldb] 0542d15 - Remove redundant string initialization (NFC)

2021-12-26 Thread Kazu Hirata via lldb-commits

Author: Kazu Hirata
Date: 2021-12-26T09:39:26-08:00
New Revision: 0542d15211cb1fb45bcd79d485d122c69cd23f28

URL: 
https://github.com/llvm/llvm-project/commit/0542d15211cb1fb45bcd79d485d122c69cd23f28
DIFF: 
https://github.com/llvm/llvm-project/commit/0542d15211cb1fb45bcd79d485d122c69cd23f28.diff

LOG: Remove redundant string initialization (NFC)

Identified with readability-redundant-string-init.

Added: 


Modified: 
clang-tools-extra/clang-tidy/cert/LimitedRandomnessCheck.cpp
clang/lib/Basic/Targets/M68k.cpp
clang/lib/Basic/Targets/PPC.h
clang/lib/CodeGen/CGOpenMPRuntime.cpp
clang/lib/Format/NamespaceEndCommentsFixer.cpp
clang/lib/Frontend/InitHeaderSearch.cpp
clang/lib/StaticAnalyzer/Checkers/ReturnValueChecker.cpp
clang/tools/clang-scan-deps/ClangScanDeps.cpp
clang/utils/TableGen/NeonEmitter.cpp
lldb/source/Commands/CommandCompletions.cpp
lldb/source/Plugins/Disassembler/LLVMC/DisassemblerLLVMC.cpp
lldb/source/Plugins/Instruction/MIPS/EmulateInstructionMIPS.cpp
lldb/source/Plugins/Instruction/MIPS64/EmulateInstructionMIPS64.cpp

lldb/source/Plugins/InstrumentationRuntime/MainThreadChecker/InstrumentationRuntimeMainThreadChecker.cpp

lldb/source/Plugins/InstrumentationRuntime/TSan/InstrumentationRuntimeTSan.cpp
lldb/source/Plugins/ObjectFile/Minidump/MinidumpFileBuilder.cpp
lldb/source/Plugins/Platform/gdb-server/PlatformRemoteGDBServer.cpp
lldb/source/Target/RegisterContextUnwind.cpp
llvm/lib/DebugInfo/DWARF/DWARFDebugAbbrev.cpp
llvm/lib/Target/AMDGPU/Utils/AMDGPUBaseInfo.cpp

Removed: 




diff  --git a/clang-tools-extra/clang-tidy/cert/LimitedRandomnessCheck.cpp 
b/clang-tools-extra/clang-tidy/cert/LimitedRandomnessCheck.cpp
index 9733a4e7c1f56..0691787f1a90f 100644
--- a/clang-tools-extra/clang-tidy/cert/LimitedRandomnessCheck.cpp
+++ b/clang-tools-extra/clang-tidy/cert/LimitedRandomnessCheck.cpp
@@ -24,7 +24,7 @@ void LimitedRandomnessCheck::registerMatchers(MatchFinder 
*Finder) {
 }
 
 void LimitedRandomnessCheck::check(const MatchFinder::MatchResult &Result) {
-  std::string Msg = "";
+  std::string Msg;
   if (getLangOpts().CPlusPlus)
 Msg = "; use C++11 random library instead";
 

diff  --git a/clang/lib/Basic/Targets/M68k.cpp 
b/clang/lib/Basic/Targets/M68k.cpp
index c0cd8fa90ed6b..ada5b97ed66de 100644
--- a/clang/lib/Basic/Targets/M68k.cpp
+++ b/clang/lib/Basic/Targets/M68k.cpp
@@ -29,7 +29,7 @@ M68kTargetInfo::M68kTargetInfo(const llvm::Triple &Triple,
const TargetOptions &)
 : TargetInfo(Triple) {
 
-  std::string Layout = "";
+  std::string Layout;
 
   // M68k is Big Endian
   Layout += "E";

diff  --git a/clang/lib/Basic/Targets/PPC.h b/clang/lib/Basic/Targets/PPC.h
index 60701072ac4b6..ac52eb219f54d 100644
--- a/clang/lib/Basic/Targets/PPC.h
+++ b/clang/lib/Basic/Targets/PPC.h
@@ -414,7 +414,7 @@ class LLVM_LIBRARY_VISIBILITY PPC64TargetInfo : public 
PPCTargetInfo {
 LongWidth = LongAlign = PointerWidth = PointerAlign = 64;
 IntMaxType = SignedLong;
 Int64Type = SignedLong;
-std::string DataLayout = "";
+std::string DataLayout;
 
 if (Triple.isOSAIX()) {
   // TODO: Set appropriate ABI for AIX platform.

diff  --git a/clang/lib/CodeGen/CGOpenMPRuntime.cpp 
b/clang/lib/CodeGen/CGOpenMPRuntime.cpp
index e35c154215203..b23100d435b42 100644
--- a/clang/lib/CodeGen/CGOpenMPRuntime.cpp
+++ b/clang/lib/CodeGen/CGOpenMPRuntime.cpp
@@ -1434,7 +1434,7 @@ llvm::Value 
*CGOpenMPRuntime::emitUpdateLocation(CodeGenFunction &CGF,
   Loc.isInvalid()) {
 SrcLocStr = OMPBuilder.getOrCreateDefaultSrcLocStr();
   } else {
-std::string FunctionName = "";
+std::string FunctionName;
 if (const auto *FD = dyn_cast_or_null(CGF.CurFuncDecl))
   FunctionName = FD->getQualifiedNameAsString();
 PresumedLoc PLoc = CGF.getContext().getSourceManager().getPresumedLoc(Loc);
@@ -9540,7 +9540,7 @@ emitMappingInformation(CodeGenFunction &CGF, 
llvm::OpenMPIRBuilder &OMPBuilder,
 Loc = MapExprs.getMapDecl()->getLocation();
   }
 
-  std::string ExprName = "";
+  std::string ExprName;
   if (MapExprs.getMapExpr()) {
 PrintingPolicy P(CGF.getContext().getLangOpts());
 llvm::raw_string_ostream OS(ExprName);

diff  --git a/clang/lib/Format/NamespaceEndCommentsFixer.cpp 
b/clang/lib/Format/NamespaceEndCommentsFixer.cpp
index 38ab5b9df76d4..9c00d243f34a8 100644
--- a/clang/lib/Format/NamespaceEndCommentsFixer.cpp
+++ b/clang/lib/Format/NamespaceEndCommentsFixer.cpp
@@ -28,7 +28,7 @@ std::string computeName(const FormatToken *NamespaceTok) {
   assert(NamespaceTok &&
  NamespaceTok->isOneOf(tok::kw_namespace, TT_NamespaceMacro) &&
  "expecting a namespace token");
-  std::string name = "";
+  std::string name;
   const FormatToken *Tok = NamespaceTok->getNextNonComment();
   if (NamespaceTok->is(TT_NamespaceMacro)) {
 // Collects all the 

[Lldb-commits] [PATCH] D116217: [lldb] Fix PR52702 by fixing Mangled::operator!

2021-12-26 Thread PoYao Chang via Phabricator via lldb-commits
rZhBoYao added inline comments.



Comment at: lldb/source/Core/Mangled.cpp:79-81
 Mangled::operator void *() const {
   return (m_mangled) ? const_cast(this) : nullptr;
 }

clayborg wrote:
> Looks like there is a similar bug here in this function as well. We should 
> convert the convert to pointer function here to "operator bool" and add a 
> unit test.
> 
> ```
> explicit operator bool() const { return m_mangled || m_demangled; }
> ```
This change breaks this test: `lldb-shell :: 
SymbolFile/DWARF/x86/find-qualified-variable.cpp` because the comment in the 
header file says: "This allows code to check a Mangled object to see if it 
contains a valid //**mangled name**//", which differs from the comment here, 
and apparently that's what people's intent was. Modifying 
`lldb/source/Plugins/SymbolFile/DWARF/SymbolFileDWARF.cpp:2143` solves this. 


Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D116217/new/

https://reviews.llvm.org/D116217

___
lldb-commits mailing list
lldb-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits


[Lldb-commits] [PATCH] D116217: [lldb] Fix PR52702 by fixing Mangled::operator!

2021-12-26 Thread PoYao Chang via Phabricator via lldb-commits
rZhBoYao updated this revision to Diff 396261.

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D116217/new/

https://reviews.llvm.org/D116217

Files:
  lldb/include/lldb/Core/Mangled.h
  lldb/source/Core/Mangled.cpp
  lldb/source/Plugins/SymbolFile/DWARF/SymbolFileDWARF.cpp
  lldb/unittests/Core/MangledTest.cpp

Index: lldb/unittests/Core/MangledTest.cpp
===
--- lldb/unittests/Core/MangledTest.cpp
+++ lldb/unittests/Core/MangledTest.cpp
@@ -89,6 +89,39 @@
   EXPECT_STREQ("", the_demangled.GetCString());
 }
 
+TEST(MangledTest, BoolConversionOperator) {
+  {
+ConstString MangledName("_ZN1a1b1cIiiiEEvm");
+Mangled TheMangled(MangledName);
+EXPECT_EQ(true, bool(TheMangled));
+  }
+  {
+ConstString UnmangledName("puts");
+Mangled TheMangled(UnmangledName);
+EXPECT_EQ(true, bool(TheMangled));
+  }
+  {
+Mangled TheMangled{};
+EXPECT_EQ(false, bool(TheMangled));
+  }
+}
+
+TEST(MangledTest, LogicalNotOperator) {
+  {
+ConstString MangledName("_ZN1a1b1cIiiiEEvm");
+Mangled TheMangled(MangledName);
+EXPECT_EQ(false, !TheMangled);
+  }
+  {
+ConstString UnmangledName("puts");
+Mangled TheMangled(UnmangledName);
+EXPECT_EQ(false, !TheMangled);
+  }
+  {
+Mangled TheMangled{};
+EXPECT_EQ(true, !TheMangled);
+  }
+}
 
 TEST(MangledTest, NameIndexes_FindFunctionSymbols) {
   SubsystemRAII
Index: lldb/source/Plugins/SymbolFile/DWARF/SymbolFileDWARF.cpp
===
--- lldb/source/Plugins/SymbolFile/DWARF/SymbolFileDWARF.cpp
+++ lldb/source/Plugins/SymbolFile/DWARF/SymbolFileDWARF.cpp
@@ -2140,7 +2140,8 @@
 
   llvm::StringRef basename;
   llvm::StringRef context;
-  bool name_is_mangled = (bool)Mangled(name);
+  bool name_is_mangled = Mangled::GetManglingScheme(name.GetStringRef()) !=
+ Mangled::eManglingSchemeNone;
 
   if (!CPlusPlusLanguage::ExtractContextAndIdentifier(name.GetCString(),
   context, basename))
Index: lldb/source/Core/Mangled.cpp
===
--- lldb/source/Core/Mangled.cpp
+++ lldb/source/Core/Mangled.cpp
@@ -70,15 +70,13 @@
 SetValue(ConstString(name));
 }
 
-// Convert to pointer operator. This allows code to check any Mangled objects
+// Convert to bool operator. This allows code to check any Mangled objects
 // to see if they contain anything valid using code such as:
 //
 //  Mangled mangled(...);
 //  if (mangled)
 //  { ...
-Mangled::operator void *() const {
-  return (m_mangled) ? const_cast(this) : nullptr;
-}
+Mangled::operator bool() const { return m_mangled || m_demangled; }
 
 // Logical NOT operator. This allows code to check any Mangled objects to see
 // if they are invalid using code such as:
@@ -86,7 +84,7 @@
 //  Mangled mangled(...);
 //  if (!file_spec)
 //  { ...
-bool Mangled::operator!() const { return !m_mangled; }
+bool Mangled::operator!() const { return !m_mangled && !m_demangled; }
 
 // Clear the mangled and demangled values.
 void Mangled::Clear() {
Index: lldb/include/lldb/Core/Mangled.h
===
--- lldb/include/lldb/Core/Mangled.h
+++ lldb/include/lldb/Core/Mangled.h
@@ -72,10 +72,10 @@
 return !(*this == rhs);
   }
 
-  /// Convert to pointer operator.
+  /// Convert to bool operator.
   ///
-  /// This allows code to check a Mangled object to see if it contains a valid
-  /// mangled name using code such as:
+  /// This allows code to check any Mangled objects to see if they contain
+  /// anything valid using code such as:
   ///
   /// \code
   /// Mangled mangled(...);
@@ -86,12 +86,12 @@
   /// \return
   /// A pointer to this object if either the mangled or unmangled
   /// name is set, NULL otherwise.
-  operator void *() const;
+  explicit operator bool() const;
 
   /// Logical NOT operator.
   ///
-  /// This allows code to check a Mangled object to see if it contains an
-  /// empty mangled name using code such as:
+  /// This allows code to check any Mangled objects to see if they are invalid
+  /// using code such as:
   ///
   /// \code
   /// Mangled mangled(...);
___
lldb-commits mailing list
lldb-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits


[Lldb-commits] [PATCH] D116217: [lldb] Fix PR52702 by fixing Mangled::operator!

2021-12-26 Thread PoYao Chang via Phabricator via lldb-commits
rZhBoYao updated this revision to Diff 396263.

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D116217/new/

https://reviews.llvm.org/D116217

Files:
  lldb/include/lldb/Core/Mangled.h
  lldb/source/Core/Mangled.cpp
  lldb/source/Plugins/SymbolFile/DWARF/SymbolFileDWARF.cpp
  lldb/unittests/Core/MangledTest.cpp

Index: lldb/unittests/Core/MangledTest.cpp
===
--- lldb/unittests/Core/MangledTest.cpp
+++ lldb/unittests/Core/MangledTest.cpp
@@ -89,6 +89,39 @@
   EXPECT_STREQ("", the_demangled.GetCString());
 }
 
+TEST(MangledTest, BoolConversionOperator) {
+  {
+ConstString MangledName("_ZN1a1b1cIiiiEEvm");
+Mangled TheMangled(MangledName);
+EXPECT_EQ(true, bool(TheMangled));
+  }
+  {
+ConstString UnmangledName("puts");
+Mangled TheMangled(UnmangledName);
+EXPECT_EQ(true, bool(TheMangled));
+  }
+  {
+Mangled TheMangled{};
+EXPECT_EQ(false, bool(TheMangled));
+  }
+}
+
+TEST(MangledTest, LogicalNotOperator) {
+  {
+ConstString MangledName("_ZN1a1b1cIiiiEEvm");
+Mangled TheMangled(MangledName);
+EXPECT_EQ(false, !TheMangled);
+  }
+  {
+ConstString UnmangledName("puts");
+Mangled TheMangled(UnmangledName);
+EXPECT_EQ(false, !TheMangled);
+  }
+  {
+Mangled TheMangled{};
+EXPECT_EQ(true, !TheMangled);
+  }
+}
 
 TEST(MangledTest, NameIndexes_FindFunctionSymbols) {
   SubsystemRAII
Index: lldb/source/Plugins/SymbolFile/DWARF/SymbolFileDWARF.cpp
===
--- lldb/source/Plugins/SymbolFile/DWARF/SymbolFileDWARF.cpp
+++ lldb/source/Plugins/SymbolFile/DWARF/SymbolFileDWARF.cpp
@@ -2140,7 +2140,8 @@
 
   llvm::StringRef basename;
   llvm::StringRef context;
-  bool name_is_mangled = (bool)Mangled(name);
+  bool name_is_mangled = Mangled::GetManglingScheme(name.GetStringRef()) !=
+ Mangled::eManglingSchemeNone;
 
   if (!CPlusPlusLanguage::ExtractContextAndIdentifier(name.GetCString(),
   context, basename))
Index: lldb/source/Core/Mangled.cpp
===
--- lldb/source/Core/Mangled.cpp
+++ lldb/source/Core/Mangled.cpp
@@ -70,15 +70,13 @@
 SetValue(ConstString(name));
 }
 
-// Convert to pointer operator. This allows code to check any Mangled objects
+// Convert to bool operator. This allows code to check any Mangled objects
 // to see if they contain anything valid using code such as:
 //
 //  Mangled mangled(...);
 //  if (mangled)
 //  { ...
-Mangled::operator void *() const {
-  return (m_mangled) ? const_cast(this) : nullptr;
-}
+Mangled::operator bool() const { return m_mangled || m_demangled; }
 
 // Logical NOT operator. This allows code to check any Mangled objects to see
 // if they are invalid using code such as:
@@ -86,7 +84,7 @@
 //  Mangled mangled(...);
 //  if (!file_spec)
 //  { ...
-bool Mangled::operator!() const { return !m_mangled; }
+bool Mangled::operator!() const { return !m_mangled && !m_demangled; }
 
 // Clear the mangled and demangled values.
 void Mangled::Clear() {
Index: lldb/include/lldb/Core/Mangled.h
===
--- lldb/include/lldb/Core/Mangled.h
+++ lldb/include/lldb/Core/Mangled.h
@@ -72,10 +72,10 @@
 return !(*this == rhs);
   }
 
-  /// Convert to pointer operator.
+  /// Convert to bool operator.
   ///
-  /// This allows code to check a Mangled object to see if it contains a valid
-  /// mangled name using code such as:
+  /// This allows code to check any Mangled objects to see if they contain
+  /// anything valid using code such as:
   ///
   /// \code
   /// Mangled mangled(...);
@@ -84,14 +84,14 @@
   /// \endcode
   ///
   /// \return
-  /// A pointer to this object if either the mangled or unmangled
-  /// name is set, NULL otherwise.
-  operator void *() const;
+  /// Returns \b true if either the mangled or unmangled name is set, \b
+  /// false otherwise.
+  explicit operator bool() const;
 
   /// Logical NOT operator.
   ///
-  /// This allows code to check a Mangled object to see if it contains an
-  /// empty mangled name using code such as:
+  /// This allows code to check any Mangled objects to see if they are invalid
+  /// using code such as:
   ///
   /// \code
   /// Mangled mangled(...);
___
lldb-commits mailing list
lldb-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits


[Lldb-commits] [PATCH] D116217: [lldb] Fix PR52702 by fixing Mangled::operator!

2021-12-26 Thread PoYao Chang via Phabricator via lldb-commits
rZhBoYao added inline comments.



Comment at: lldb/source/Core/Mangled.cpp:87
 //  { ...
-bool Mangled::operator!() const { return !m_mangled; }
+bool Mangled::operator!() const { return !m_mangled && !m_demangled; }
 

Should we remove `Mangled::operator!` altogether? I find it less confusing 
without. 


CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D116217/new/

https://reviews.llvm.org/D116217

___
lldb-commits mailing list
lldb-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits