format visibility attribute

This commit is contained in:
Nikita Smith
2026-02-25 14:27:59 -08:00
parent 3e7b791e01
commit 1ee8218b0e
3 changed files with 17 additions and 0 deletions
+11
View File
@@ -724,6 +724,17 @@ dw_string_from_attrib_type_encoding(Arena *arena, DW_ATE kind)
return push_str8f(arena, "%llx", kind);
}
internal String8
dw_string_from_attrib_visibility(Arena *arena, DW_Vis vis)
{
switch (vis) {
#define X(_N,_ID) case _ID: return str8_lit(Stringify(_N));
DW_Vis_XList
#undef X
}
return push_str8f(arena, "%llx", vis);
}
internal String8
dw_string_from_std_opcode(Arena *arena, DW_StdOpcode kind)
{
+1
View File
@@ -1807,6 +1807,7 @@ internal String8 dw_string_from_inl(Arena *arena, DW_InlKind kind);
internal String8 dw_string_from_access_kind(Arena *arena, DW_AccessKind kind);
internal String8 dw_string_from_calling_convetion(Arena *arena, DW_CallingConventionKind kind);
internal String8 dw_string_from_attrib_type_encoding(Arena *arena, DW_ATE kind);
internal String8 dw_string_from_attrib_visibility(Arena *arena, DW_Vis vis);
internal String8 dw_string_from_std_opcode(Arena *arena, DW_StdOpcode kind);
internal String8 dw_string_from_ext_opcode(Arena *arena, DW_ExtOpcode kind);
internal String8 dw_string_from_loc_list_entry_kind(Arena *arena, DW_LLE kind);
+5
View File
@@ -756,6 +756,11 @@ dw_string_from_attrib_value(Arena *arena, DW_Input *input, Arch arch, DW_CompUni
DW_ATE encoding = dw_const_u64_from_attrib(input, cu, attrib);
enum_info = dw_string_from_attrib_type_encoding(scratch.arena, encoding);
}break;
case DW_AttribKind_Visibility:
{
DW_Vis vis = dw_const_u64_from_attrib(input, cu, attrib);
enum_info = dw_string_from_attrib_visibility(scratch.arena, vis);
}break;
}
if(enum_info.size)