diff --git a/pickles/btf-dump.pk b/pickles/btf-dump.pk index 81c3817d..347208b4 100644 --- a/pickles/btf-dump.pk +++ b/pickles/btf-dump.pk @@ -99,60 +99,13 @@ fun btf_dump_datasec = (BTF_Var_SecInfo[] entries) void: fun btf_dump_type_vdata = (BTF_Section btf, BTF_Type t) void: { - /* Integer */ - try - { - btf_dump_int (t.data.integer); - return; - } - catch if E_elem {} - - /* Array */ - try - { - btf_dump_array (t.data.array); - return; - } - catch if E_elem {} - - /* Enum */ - try - { - btf_dump_enum (btf, t.data._enum); - return; - } - catch if E_elem {} - - /* Func proto */ - try - { - btf_dump_proto (btf, t.data.func_proto.params); - return; - } - catch if E_elem {} - - /* Variable. */ - try - { - btf_dump_var (t.data.variable); - return; - } - catch if E_elem {} - - /* Struct or union. */ - try - { - btf_dump_sou (btf, t); - return; - } - catch if E_elem {} - - /* Datasec */ - try - { - btf_dump_datasec (t.data.datasec); - } - catch if E_elem {} + ({ btf_dump_int (t.data.integer); } ?! E_elem) + || ({ btf_dump_array (t.data.array); } ?! E_elem) + || ({ btf_dump_enum (btf, t.data._enum); } ?! E_elem) + || ({ btf_dump_proto (btf, t.data.func_proto.params); } ?! E_elem) + || ({ btf_dump_var (t.data.variable); } ?! E_elem) + || ({ btf_dump_sou (btf, t); } ?! E_elem) + || ({ btf_dump_datasec (t.data.datasec); } ?! E_elem); } /* Dump a complete BTF type. Includes lookup and display of any strings diff --git a/pickles/ctf-dump.pk b/pickles/ctf-dump.pk index 27d7d290..7bb1f9fd 100644 --- a/pickles/ctf-dump.pk +++ b/pickles/ctf-dump.pk @@ -116,24 +116,13 @@ fun ctf_dump_func = (CTF_Dictionary ctf, CTF_Type t) void: fun ctf_dump_vlen_data = (CTF_Dictionary ctf, CTF_Type t) void: { - try ctf_dump_int (t.data.integer); - catch if E_elem {}; - - try ctf_dump_array (t.data.array); - catch if E_elem {}; - - try ctf_dump_slice (ctf, t.data.slice); - catch if E_elem {}; - - try ctf_dump_sou_members (ctf, t.data.members); - catch if E_elem {}; - - try ctf_dump_enum (ctf, t.data._enum); - catch if E_elem {}; - - /* XXX CTF_Func_Args declaration scoped within CTF_Type is not available. */ - try ctf_dump_func (ctf, t); - catch if E_elem {}; + ({ ctf_dump_int (t.data.integer); } ?! E_elem) + || ({ ctf_dump_array (t.data.array); } ?! E_elem) + || ({ ctf_dump_slice (ctf, t.data.slice); } ?! E_elem) + || ({ ctf_dump_sou_members (ctf, t.data.members); } ?! E_elem) + || ({ ctf_dump_enum (ctf, t.data._enum); } ?! E_elem) + /* XXX CTF_Func_Args declaration scoped within CTF_Type is not available. */ + || ({ ctf_dump_func (ctf, t); } ?! E_elem); } /* Dump the given CTF type. */