diff options
author | Nico Weber <nicolasweber@gmx.de> | 2019-06-04 15:38:00 +0000 |
---|---|---|
committer | Nico Weber <nicolasweber@gmx.de> | 2019-06-04 15:38:00 +0000 |
commit | c1a0e6fe6b33b9f9b5420edddd3afce7fa1d308b (patch) | |
tree | d6586e8a4971f8d60d2047ca9772570a659f6bfb /llvm/lib/Demangle | |
parent | 7f3135037dd44620b231a975d313ce62f93fe873 (diff) | |
download | bcm5719-llvm-c1a0e6fe6b33b9f9b5420edddd3afce7fa1d308b.tar.gz bcm5719-llvm-c1a0e6fe6b33b9f9b5420edddd3afce7fa1d308b.zip |
llvm-undname: More no-op changes to increase test coverage
- Add test coverage around invalid anon namespaces and
for error paths in demanglePrimitiveType() and in
demangleFullyQualifiedTypeName()
- Use DEMANGLE_UNREACHABLE in two more unreachable places
llvm-svn: 362514
Diffstat (limited to 'llvm/lib/Demangle')
-rw-r--r-- | llvm/lib/Demangle/MicrosoftDemangle.cpp | 11 |
1 files changed, 5 insertions, 6 deletions
diff --git a/llvm/lib/Demangle/MicrosoftDemangle.cpp b/llvm/lib/Demangle/MicrosoftDemangle.cpp index 83e6f60de03..a28e01c2567 100644 --- a/llvm/lib/Demangle/MicrosoftDemangle.cpp +++ b/llvm/lib/Demangle/MicrosoftDemangle.cpp @@ -238,10 +238,10 @@ demanglePointerCVQualifiers(StringView &MangledName) { case 'S': return std::make_pair(Qualifiers(Q_Const | Q_Volatile), PointerAffinity::Pointer); - default: - assert(false && "Ty is not a pointer type!"); } - return std::make_pair(Q_None, PointerAffinity::Pointer); + // This function is only called if isPointerType() returns true, + // and it only returns true for the six cases listed above. + DEMANGLE_UNREACHABLE; } StringView Demangler::copyString(StringView Borrowed) { @@ -1694,7 +1694,7 @@ CallingConv Demangler::demangleCallingConvention(StringView &MangledName) { } StorageClass Demangler::demangleVariableStorageClass(StringView &MangledName) { - assert(std::isdigit(MangledName.front())); + assert(MangledName.front() >= '0' && MangledName.front() <= '4'); switch (MangledName.popFront()) { case '0': @@ -1708,8 +1708,7 @@ StorageClass Demangler::demangleVariableStorageClass(StringView &MangledName) { case '4': return StorageClass::FunctionLocalStatic; } - Error = true; - return StorageClass::None; + DEMANGLE_UNREACHABLE; } std::pair<Qualifiers, bool> |