Don't memset non-POD types: struct btrace_insn
authorPedro Alves <palves@redhat.com>
Tue, 25 Apr 2017 00:27:42 +0000 (01:27 +0100)
committerPedro Alves <palves@redhat.com>
Tue, 25 Apr 2017 00:43:52 +0000 (01:43 +0100)
commitb5c3668253b909fd1f5b011893a35bb8dfd3be9b
tree275bdb3bfc05da8c32368d95313c0df74f669f76
parent5625a2864147f4d92b22edfeeab7600818988be2
Don't memset non-POD types: struct btrace_insn

struct btrace_insn is not a POD [1] so we shouldn't be using memset to
initialize it [2].

Use list-initialization instead, wrapped in a "pt insn to btrace insn"
function, which looks like just begging to be added next to the
existing pt_reclassify_insn/pt_btrace_insn_flags functions.

[1] - because its field "flags" is not POD, because enum_flags has a
non-trivial default ctor.

gdb/ChangeLog:
2017-04-25  Pedro Alves  <palves@redhat.com>

* btrace.c (pt_btrace_insn_flags): Change parameter type to
reference.
(pt_btrace_insn): New function.
(ftrace_add_pt): Remove memset call and use pt_btrace_insn.
gdb/ChangeLog
gdb/btrace.c