Fix elf64-ppc.c electric fence warning
[deliverable/binutils-gdb.git] / gdb / common / btrace-common.c
1 /* Copyright (C) 2014-2015 Free Software Foundation, Inc.
2
3 Contributed by Intel Corp. <markus.t.metzger@intel.com>
4
5 This file is part of GDB.
6
7 This program is free software; you can redistribute it and/or modify
8 it under the terms of the GNU General Public License as published by
9 the Free Software Foundation; either version 3 of the License, or
10 (at your option) any later version.
11
12 This program is distributed in the hope that it will be useful,
13 but WITHOUT ANY WARRANTY; without even the implied warranty of
14 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15 GNU General Public License for more details.
16
17 You should have received a copy of the GNU General Public License
18 along with this program. If not, see <http://www.gnu.org/licenses/>. */
19
20 #include "common-defs.h"
21 #include "btrace-common.h"
22
23
24 /* See btrace-common.h. */
25
26 const char *
27 btrace_format_string (enum btrace_format format)
28 {
29 switch (format)
30 {
31 case BTRACE_FORMAT_NONE:
32 return _("No or unknown format");
33
34 case BTRACE_FORMAT_BTS:
35 return _("Branch Trace Store");
36 }
37
38 internal_error (__FILE__, __LINE__, _("Unknown branch trace format"));
39 }
40
41 /* See btrace-common.h. */
42
43 void
44 btrace_data_init (struct btrace_data *data)
45 {
46 data->format = BTRACE_FORMAT_NONE;
47 }
48
49 /* See btrace-common.h. */
50
51 void
52 btrace_data_fini (struct btrace_data *data)
53 {
54 switch (data->format)
55 {
56 case BTRACE_FORMAT_NONE:
57 /* Nothing to do. */
58 return;
59
60 case BTRACE_FORMAT_BTS:
61 VEC_free (btrace_block_s, data->variant.bts.blocks);
62 return;
63 }
64
65 internal_error (__FILE__, __LINE__, _("Unkown branch trace format."));
66 }
67
68 /* See btrace-common.h. */
69
70 int
71 btrace_data_empty (struct btrace_data *data)
72 {
73 switch (data->format)
74 {
75 case BTRACE_FORMAT_NONE:
76 return 1;
77
78 case BTRACE_FORMAT_BTS:
79 return VEC_empty (btrace_block_s, data->variant.bts.blocks);
80 }
81
82 internal_error (__FILE__, __LINE__, _("Unkown branch trace format."));
83 }
This page took 0.029994 seconds and 4 git commands to generate.