aboutsummaryrefslogtreecommitdiff
path: root/llvm/tools
diff options
context:
space:
mode:
authornikitalita <69168929+nikitalita@users.noreply.github.com>2024-02-12 07:02:29 -0800
committerGitHub <noreply@github.com>2024-02-12 07:02:29 -0800
commit32eb95cc40d93bc5fb67e0b52531f7620204ec8c (patch)
tree6bc0980031bb43eec2d1b3d84af888c7b5d3a273 /llvm/tools
parent85598ae35aa61f1f5fcf9fd19657768985806d9f (diff)
downloadllvm-32eb95cc40d93bc5fb67e0b52531f7620204ec8c.zip
llvm-32eb95cc40d93bc5fb67e0b52531f7620204ec8c.tar.gz
llvm-32eb95cc40d93bc5fb67e0b52531f7620204ec8c.tar.bz2
[DebugInfo] Update CodeView enums (#71038)
This adds the following values to the CodeView.h enums (and updates the various functions that use them): * CPUType: * Added `Unknown` * This is not currently documented in the online documentation, but this is present in `cvconst.h` in the latest DIA SDK (Visual Studio 2022, 17.7.6) * `Unknown` is the CPUType that is emitted by `aliasobj.exe` in the Compile3Sym records, and can be found in objects that link with `oldnames.lib` ![image](https://github.com/llvm/llvm-project/assets/69168929/8ee7b032-761b-45da-8439-d07aba797940) * SourceLanguage (All of these are documented at https://learn.microsoft.com/en-us/visualstudio/debugger/debug-interface-access/cv-cfl-lang?view=vs-2022 and are present in `cvconst.h` in the latest DIA SDK (Visual Studio 2022, 17.7.6)) * Added Go * Added AliasObj * emitted by `aliasobj.exe` in certain records, can be found in PDBs that link with `oldnames.lib` * Changed Swift to the official Microsoft enumeration * Added `OldSwift` * The old Swift enumeration of `S` was changed to `OldSwift` to allow pdb dumping utilities to continue to emit correct source language information for old PDBs ### WARNING The `Swift` change is a potentially breaking change, as the swift compiler will now emit `0x13` for the SourceLanguage type in PDB records instead of `S`. This could potentially break utilities that relied on the old enum value. * CallType * Added Swift * This is not currently documented in the online documentation, but this is present in `cvconst.h` in the latest DIA SDK (Visual Studio 2022, 17.7.6)
Diffstat (limited to 'llvm/tools')
-rw-r--r--llvm/tools/llvm-pdbutil/MinimalSymbolDumper.cpp4
-rw-r--r--llvm/tools/llvm-pdbutil/MinimalTypeDumper.cpp1
2 files changed, 5 insertions, 0 deletions
diff --git a/llvm/tools/llvm-pdbutil/MinimalSymbolDumper.cpp b/llvm/tools/llvm-pdbutil/MinimalSymbolDumper.cpp
index 1beb2d2..479d025 100644
--- a/llvm/tools/llvm-pdbutil/MinimalSymbolDumper.cpp
+++ b/llvm/tools/llvm-pdbutil/MinimalSymbolDumper.cpp
@@ -213,6 +213,9 @@ static std::string formatSourceLanguage(SourceLanguage Lang) {
RETURN_CASE(SourceLanguage, Rust, "rust");
RETURN_CASE(SourceLanguage, ObjC, "objc");
RETURN_CASE(SourceLanguage, ObjCpp, "objc++");
+ RETURN_CASE(SourceLanguage, AliasObj, "aliasobj");
+ RETURN_CASE(SourceLanguage, Go, "go");
+ RETURN_CASE(SourceLanguage, OldSwift, "swift");
}
return formatUnknownEnum(Lang);
}
@@ -282,6 +285,7 @@ static std::string formatMachineType(CPUType Cpu) {
RETURN_CASE(CPUType, Thumb, "thumb");
RETURN_CASE(CPUType, ARMNT, "arm nt");
RETURN_CASE(CPUType, D3D11_Shader, "d3d11 shader");
+ RETURN_CASE(CPUType, Unknown, "unknown");
}
return formatUnknownEnum(Cpu);
}
diff --git a/llvm/tools/llvm-pdbutil/MinimalTypeDumper.cpp b/llvm/tools/llvm-pdbutil/MinimalTypeDumper.cpp
index aaa430a..a407782 100644
--- a/llvm/tools/llvm-pdbutil/MinimalTypeDumper.cpp
+++ b/llvm/tools/llvm-pdbutil/MinimalTypeDumper.cpp
@@ -125,6 +125,7 @@ static std::string formatCallingConvention(CallingConvention Convention) {
RETURN_CASE(CallingConvention, PpcCall, "ppccall");
RETURN_CASE(CallingConvention, SHCall, "shcall");
RETURN_CASE(CallingConvention, SH5Call, "sh5call");
+ RETURN_CASE(CallingConvention, Swift, "swift");
RETURN_CASE(CallingConvention, ThisCall, "thiscall");
RETURN_CASE(CallingConvention, TriCall, "tricall");
}