perf evsel: Do not put a variable sized type not at the end of a struct
authorArnaldo Carvalho de Melo <acme@redhat.com>
Tue, 14 Feb 2017 13:59:04 +0000 (10:59 -0300)
committerArnaldo Carvalho de Melo <acme@redhat.com>
Tue, 14 Feb 2017 18:56:54 +0000 (15:56 -0300)
commitc24ae6d96112b10ef703a58d7d74583716d2ce69
treecb96268f56ef91a5616ddfe70cda1da998cfac11
parent8a2efd6dd586ef0ff532180e6335ec21310c2cd5
perf evsel: 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 a existing thread_map and
cpu_map constructors:

With this we avoid this while compiling with clang:

  util/evsel.c:1659:17: error: field 'map' with variable sized type 'struct cpu_map' not at the end of a struct or class is a GNU extension
        [-Werror,-Wgnu-variable-sized-type-not-at-end]
          struct cpu_map map;
                         ^
  util/evsel.c:1667:20: 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;
                            ^
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-207juvrqjiar7uvas2s83v5i@git.kernel.org
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
tools/perf/util/evsel.c