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:
parent
9d6aae7254
commit
89896051f8
|
@ -2020,17 +2020,14 @@ static bool is_event_supported(u8 type, unsigned config)
|
||||||
.config = config,
|
.config = config,
|
||||||
.disabled = 1,
|
.disabled = 1,
|
||||||
};
|
};
|
||||||
struct {
|
struct thread_map *tmap = thread_map__new_by_tid(0);
|
||||||
struct thread_map map;
|
|
||||||
int threads[1];
|
if (tmap == NULL)
|
||||||
} tmap = {
|
return false;
|
||||||
.map.nr = 1,
|
|
||||||
.threads = { 0 },
|
|
||||||
};
|
|
||||||
|
|
||||||
evsel = perf_evsel__new(&attr);
|
evsel = perf_evsel__new(&attr);
|
||||||
if (evsel) {
|
if (evsel) {
|
||||||
open_return = perf_evsel__open(evsel, NULL, &tmap.map);
|
open_return = perf_evsel__open(evsel, NULL, tmap);
|
||||||
ret = open_return >= 0;
|
ret = open_return >= 0;
|
||||||
|
|
||||||
if (open_return == -EACCES) {
|
if (open_return == -EACCES) {
|
||||||
|
@ -2042,7 +2039,7 @@ static bool is_event_supported(u8 type, unsigned config)
|
||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
evsel->attr.exclude_kernel = 1;
|
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);
|
perf_evsel__delete(evsel);
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue