]> git.karo-electronics.de Git - karo-tx-linux.git/commitdiff
perf session: Fix DEBUG=1 build with clang
authorArnaldo Carvalho de Melo <acme@redhat.com>
Fri, 17 Feb 2017 15:27:26 +0000 (12:27 -0300)
committerArnaldo Carvalho de Melo <acme@redhat.com>
Fri, 17 Feb 2017 15:27:26 +0000 (12:27 -0300)
The struct branch_stack->branch_stack.cycles field is a u64 :16
bitfield, and this somehow confuses clang 4.0 when checking the
arguments of a printf format, so cast the :16 to unsigned short to help
it.

Silences this:

  util/session.c:935:4: error: format specifies type 'unsigned short' but the argument has type 'u64' (aka 'unsigned long') [-Werror,-Wformat]
                          e->flags.cycles,
                          ^~~~~~~~~~~~~~~
  1 error generated.

Cc: Adrian Hunter <adrian.hunter@intel.com>
Cc: Andi Kleen <ak@linux.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-eo2t4uhlbne105z72tvyzkp1@git.kernel.org
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
tools/perf/util/session.c

index 4cdbc8f5f14dbf0dff51304ffb59812ce7273ea6..1dd617d116b5d844f23c88592f9dac9f061a7ff6 100644 (file)
@@ -932,7 +932,7 @@ static void branch_stack__printf(struct perf_sample *sample)
 
                printf("..... %2"PRIu64": %016" PRIx64 " -> %016" PRIx64 " %hu cycles %s%s%s%s %x\n",
                        i, e->from, e->to,
-                       e->flags.cycles,
+                       (unsigned short)e->flags.cycles,
                        e->flags.mispred ? "M" : " ",
                        e->flags.predicted ? "P" : " ",
                        e->flags.abort ? "A" : " ",