case SymbolKind::S_LOCAL:
Refs.push_back({TiRefKind::TypeRef, 0, 1}); // Type
break;
+ case SymbolKind::S_REGISTER:
+ Refs.push_back({TiRefKind::TypeRef, 0, 1}); // Type;
+ break;
case SymbolKind::S_CONSTANT:
Refs.push_back({TiRefKind::TypeRef, 0, 1}); // Type
break;
TEST_F(TypeIndexIteratorTest, ProcSym) {
ProcSym GS(SymbolRecordKind::GlobalProcSym);
- GS.FunctionType = TypeIndex(0x40);
+ GS.FunctionType = TypeIndex::Float32();
ProcSym LS(SymbolRecordKind::ProcSym);
- LS.FunctionType = TypeIndex(0x41);
+ LS.FunctionType = TypeIndex::Float64();
writeSymbolRecords(GS, LS);
checkTypeReferences(0, GS.FunctionType);
checkTypeReferences(1, LS.FunctionType);
TEST_F(TypeIndexIteratorTest, DataSym) {
DataSym DS(SymbolRecordKind::GlobalData);
- DS.Type = TypeIndex(0x40);
+ DS.Type = TypeIndex::Float32();
writeSymbolRecords(DS);
checkTypeReferences(0, DS.Type);
}
+TEST_F(TypeIndexIteratorTest, RegisterSym) {
+ RegisterSym Reg(SymbolRecordKind::RegisterSym);
+ Reg.Index = TypeIndex::UInt32();
+ Reg.Register = RegisterId::EAX;
+ Reg.Name = "Target";
+ writeSymbolRecords(Reg);
+ checkTypeReferences(0, Reg.Index);
+}
+
TEST_F(TypeIndexIteratorTest, CallerSym) {
CallerSym Callees(SymbolRecordKind::CalleeSym);
Callees.Indices.push_back(TypeIndex(1));