Index: lldb/include/lldb/lldb-enumerations.h =================================================================== --- lldb/include/lldb/lldb-enumerations.h +++ lldb/include/lldb/lldb-enumerations.h @@ -749,6 +749,7 @@ eBasicTypeUnsignedWChar, eBasicTypeChar16, eBasicTypeChar32, + eBasicTypeChar8, eBasicTypeShort, eBasicTypeUnsignedShort, eBasicTypeInt, Index: lldb/source/Plugins/SymbolFile/NativePDB/PdbUtil.cpp =================================================================== --- lldb/source/Plugins/SymbolFile/NativePDB/PdbUtil.cpp +++ lldb/source/Plugins/SymbolFile/NativePDB/PdbUtil.cpp @@ -704,6 +704,8 @@ return lldb::eBasicTypeChar16; case SimpleTypeKind::Character32: return lldb::eBasicTypeChar32; + case SimpleTypeKind::Character8: + return lldb::eBasicTypeChar8; case SimpleTypeKind::Complex80: return lldb::eBasicTypeLongDoubleComplex; case SimpleTypeKind::Complex64: @@ -796,6 +798,7 @@ case SimpleTypeKind::NarrowCharacter: case SimpleTypeKind::SignedCharacter: case SimpleTypeKind::SByte: + case SimpleTypeKind::Character8: return 1; case SimpleTypeKind::Void: default: Index: lldb/source/Plugins/SymbolFile/NativePDB/SymbolFileNativePDB.cpp =================================================================== --- lldb/source/Plugins/SymbolFile/NativePDB/SymbolFileNativePDB.cpp +++ lldb/source/Plugins/SymbolFile/NativePDB/SymbolFileNativePDB.cpp @@ -173,6 +173,8 @@ return "char16_t"; case SimpleTypeKind::Character32: return "char32_t"; + case SimpleTypeKind::Character8: + return "char8_t"; case SimpleTypeKind::Complex80: case SimpleTypeKind::Complex64: case SimpleTypeKind::Complex32: Index: llvm/docs/PDB/TpiStream.rst =================================================================== --- llvm/docs/PDB/TpiStream.rst +++ llvm/docs/PDB/TpiStream.rst @@ -131,6 +131,7 @@ WideCharacter = 0x0071, // wide char Character16 = 0x007a, // char16_t Character32 = 0x007b, // char32_t + Character8 = 0x007c, // char8_t SByte = 0x0068, // 8 bit signed int Byte = 0x0069, // 8 bit unsigned int Index: llvm/include/llvm/DebugInfo/CodeView/TypeIndex.h =================================================================== --- llvm/include/llvm/DebugInfo/CodeView/TypeIndex.h +++ llvm/include/llvm/DebugInfo/CodeView/TypeIndex.h @@ -35,6 +35,7 @@ WideCharacter = 0x0071, // wide char Character16 = 0x007a, // char16_t Character32 = 0x007b, // char32_t + Character8 = 0x007c, // char8_t SByte = 0x0068, // 8 bit signed int Byte = 0x0069, // 8 bit unsigned int Index: llvm/include/llvm/DebugInfo/PDB/PDBTypes.h =================================================================== --- llvm/include/llvm/DebugInfo/PDB/PDBTypes.h +++ llvm/include/llvm/DebugInfo/PDB/PDBTypes.h @@ -352,7 +352,8 @@ BSTR = 30, HResult = 31, Char16 = 32, - Char32 = 33 + Char32 = 33, + Char8 = 34, }; /// These values correspond to the flags that can be combined to control the Index: llvm/lib/CodeGen/AsmPrinter/CodeViewDebug.cpp =================================================================== --- llvm/lib/CodeGen/AsmPrinter/CodeViewDebug.cpp +++ llvm/lib/CodeGen/AsmPrinter/CodeViewDebug.cpp @@ -1826,6 +1826,7 @@ break; case dwarf::DW_ATE_UTF: switch (ByteSize) { + case 1: STK = SimpleTypeKind::Character8; break; case 2: STK = SimpleTypeKind::Character16; break; case 4: STK = SimpleTypeKind::Character32; break; } Index: llvm/lib/DebugInfo/CodeView/TypeIndex.cpp =================================================================== --- llvm/lib/DebugInfo/CodeView/TypeIndex.cpp +++ llvm/lib/DebugInfo/CodeView/TypeIndex.cpp @@ -33,6 +33,7 @@ {"wchar_t*", SimpleTypeKind::WideCharacter}, {"char16_t*", SimpleTypeKind::Character16}, {"char32_t*", SimpleTypeKind::Character32}, + {"char8_t*", SimpleTypeKind::Character8}, {"__int8*", SimpleTypeKind::SByte}, {"unsigned __int8*", SimpleTypeKind::Byte}, {"short*", SimpleTypeKind::Int16Short}, Index: llvm/lib/DebugInfo/PDB/Native/NativeTypeEnum.cpp =================================================================== --- llvm/lib/DebugInfo/PDB/Native/NativeTypeEnum.cpp +++ llvm/lib/DebugInfo/PDB/Native/NativeTypeEnum.cpp @@ -205,6 +205,8 @@ return PDB_BuiltinType::Char16; case SimpleTypeKind::Character32: return PDB_BuiltinType::Char32; + case SimpleTypeKind::Character8: + return PDB_BuiltinType::Char8; case SimpleTypeKind::Int128: case SimpleTypeKind::Int128Oct: case SimpleTypeKind::Int16: Index: llvm/lib/DebugInfo/PDB/Native/SymbolCache.cpp =================================================================== --- llvm/lib/DebugInfo/PDB/Native/SymbolCache.cpp +++ llvm/lib/DebugInfo/PDB/Native/SymbolCache.cpp @@ -67,6 +67,7 @@ {codeview::SimpleTypeKind::WideCharacter, PDB_BuiltinType::WCharT, 2}, {codeview::SimpleTypeKind::Character16, PDB_BuiltinType::Char16, 2}, {codeview::SimpleTypeKind::Character32, PDB_BuiltinType::Char32, 4}, + {codeview::SimpleTypeKind::Character8, PDB_BuiltinType::Char8, 1}, {codeview::SimpleTypeKind::SignedCharacter, PDB_BuiltinType::Char, 1}, {codeview::SimpleTypeKind::UnsignedCharacter, PDB_BuiltinType::UInt, 1}, {codeview::SimpleTypeKind::Float32, PDB_BuiltinType::Float, 4},