perf tools: Do not put a variable sized type not at the end of a struct
As this is a GNU extension and while harmless in this case, we can do the same thing in a more clearer way by using an existing thread_map constructor. With this we avoid this while compiling with clang: util/parse-events.c:2024:21: error: field 'map' with variable sized type 'struct thread_map' not at the end of a struct or class is a GNU extension [-Werror,-Wgnu-variable-sized-type-not-at-end] struct thread_map map; ^ 1 error generated. Cc: Adrian Hunter <adrian.hunter@intel.com> Cc: David Ahern <dsahern@gmail.com> Cc: Jiri Olsa <jolsa@kernel.org> Cc: Namhyung Kim <namhyung@kernel.org> Cc: Wang Nan <wangnan0@huawei.com> Link: http://lkml.kernel.org/n/tip-tqocbplnyyhpst6drgm2u4m3@git.kernel.org Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
This commit is contained in:
Родитель
9d6aae7254
Коммит
89896051f8
|
@ -2020,17 +2020,14 @@ static bool is_event_supported(u8 type, unsigned config)
|
|||
.config = config,
|
||||
.disabled = 1,
|
||||
};
|
||||
struct {
|
||||
struct thread_map map;
|
||||
int threads[1];
|
||||
} tmap = {
|
||||
.map.nr = 1,
|
||||
.threads = { 0 },
|
||||
};
|
||||
struct thread_map *tmap = thread_map__new_by_tid(0);
|
||||
|
||||
if (tmap == NULL)
|
||||
return false;
|
||||
|
||||
evsel = perf_evsel__new(&attr);
|
||||
if (evsel) {
|
||||
open_return = perf_evsel__open(evsel, NULL, &tmap.map);
|
||||
open_return = perf_evsel__open(evsel, NULL, tmap);
|
||||
ret = open_return >= 0;
|
||||
|
||||
if (open_return == -EACCES) {
|
||||
|
@ -2042,7 +2039,7 @@ static bool is_event_supported(u8 type, unsigned config)
|
|||
*
|
||||
*/
|
||||
evsel->attr.exclude_kernel = 1;
|
||||
ret = perf_evsel__open(evsel, NULL, &tmap.map) >= 0;
|
||||
ret = perf_evsel__open(evsel, NULL, tmap) >= 0;
|
||||
}
|
||||
perf_evsel__delete(evsel);
|
||||
}
|
||||
|
|
Загрузка…
Ссылка в новой задаче