mirror of
https://github.com/RPCS3/llvm.git
synced 2026-07-19 15:13:49 -04:00
NFC: Make the copies of the demangler byte-for-byte identical
With this patch, the copies of the files ItaniumDemangle.h, StringView.h, and Utility.h are kept byte-for-byte in sync between libcxxabi and llvm. All differences (namespaces, fallthrough, and unreachable macros) are defined in each copies' DemanglerConfig.h. This patch also adds a script to copy changes from libcxxabi (cp-to-llvm.sh), and a README.txt explaining the situation. Differential revision: https://reviews.llvm.org/D53538 git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@351474 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
@@ -18,7 +18,7 @@
|
||||
#include "llvm/Demangle/Demangle.h"
|
||||
#include "llvm/Demangle/MicrosoftDemangleNodes.h"
|
||||
|
||||
#include "llvm/Demangle/Compiler.h"
|
||||
#include "llvm/Demangle/DemangleConfig.h"
|
||||
#include "llvm/Demangle/StringView.h"
|
||||
#include "llvm/Demangle/Utility.h"
|
||||
|
||||
@@ -265,7 +265,7 @@ Demangler::demangleSpecialTableSymbolNode(StringView &MangledName,
|
||||
NI->Name = "`RTTI Complete Object Locator'";
|
||||
break;
|
||||
default:
|
||||
LLVM_BUILTIN_UNREACHABLE;
|
||||
DEMANGLE_UNREACHABLE;
|
||||
}
|
||||
QualifiedNameNode *QN = demangleNameScopeChain(MangledName, NI);
|
||||
SpecialTableSymbolNode *STSN = Arena.alloc<SpecialTableSymbolNode>();
|
||||
@@ -632,7 +632,7 @@ translateIntrinsicFunctionCode(char CH, FunctionIdentifierCodeGroup Group) {
|
||||
case FunctionIdentifierCodeGroup::DoubleUnder:
|
||||
return DoubleUnder[Index];
|
||||
}
|
||||
LLVM_BUILTIN_UNREACHABLE;
|
||||
DEMANGLE_UNREACHABLE;
|
||||
}
|
||||
|
||||
IdentifierNode *
|
||||
@@ -1188,7 +1188,7 @@ Demangler::demangleStringLiteral(StringView &MangledName) {
|
||||
switch (MangledName.popFront()) {
|
||||
case '1':
|
||||
IsWcharT = true;
|
||||
LLVM_FALLTHROUGH;
|
||||
DEMANGLE_FALLTHROUGH;
|
||||
case '0':
|
||||
break;
|
||||
default:
|
||||
@@ -1255,7 +1255,7 @@ Demangler::demangleStringLiteral(StringView &MangledName) {
|
||||
Result->Char = CharKind::Char32;
|
||||
break;
|
||||
default:
|
||||
LLVM_BUILTIN_UNREACHABLE;
|
||||
DEMANGLE_UNREACHABLE;
|
||||
}
|
||||
const unsigned NumChars = BytesDecoded / CharBytes;
|
||||
for (unsigned CharIndex = 0; CharIndex < NumChars; ++CharIndex) {
|
||||
@@ -2083,15 +2083,15 @@ Demangler::demangleTemplateParameterList(StringView &MangledName) {
|
||||
case 'J':
|
||||
TPRN->ThunkOffsets[TPRN->ThunkOffsetCount++] =
|
||||
demangleSigned(MangledName);
|
||||
LLVM_FALLTHROUGH;
|
||||
DEMANGLE_FALLTHROUGH;
|
||||
case 'I':
|
||||
TPRN->ThunkOffsets[TPRN->ThunkOffsetCount++] =
|
||||
demangleSigned(MangledName);
|
||||
LLVM_FALLTHROUGH;
|
||||
DEMANGLE_FALLTHROUGH;
|
||||
case 'H':
|
||||
TPRN->ThunkOffsets[TPRN->ThunkOffsetCount++] =
|
||||
demangleSigned(MangledName);
|
||||
LLVM_FALLTHROUGH;
|
||||
DEMANGLE_FALLTHROUGH;
|
||||
case '1':
|
||||
break;
|
||||
default:
|
||||
@@ -2117,13 +2117,13 @@ Demangler::demangleTemplateParameterList(StringView &MangledName) {
|
||||
case 'G':
|
||||
TPRN->ThunkOffsets[TPRN->ThunkOffsetCount++] =
|
||||
demangleSigned(MangledName);
|
||||
LLVM_FALLTHROUGH;
|
||||
DEMANGLE_FALLTHROUGH;
|
||||
case 'F':
|
||||
TPRN->ThunkOffsets[TPRN->ThunkOffsetCount++] =
|
||||
demangleSigned(MangledName);
|
||||
TPRN->ThunkOffsets[TPRN->ThunkOffsetCount++] =
|
||||
demangleSigned(MangledName);
|
||||
LLVM_FALLTHROUGH;
|
||||
DEMANGLE_FALLTHROUGH;
|
||||
case '0':
|
||||
break;
|
||||
default:
|
||||
|
||||
Reference in New Issue
Block a user