perf record: 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:19:19 +0000 (15:19 -0300)
commit9d6aae725454beada044179f1005c8f8c206dd6a
tree8d5596ae4206303c62bae561d8410690f83469b0
parent423d856a4d6ab26a50309fd051f2bdf0e5d00fd6
perf record: 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:

  builtin-record.c:659: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-c9drclo52ezxmwa7qxklin2y@git.kernel.org
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
tools/perf/builtin-record.c