summaryrefslogtreecommitdiffstats
path: root/tools/perf/util/callchain.c
diff options
context:
space:
mode:
authorIngo Molnar <mingo@elte.hu>2009-07-01 12:37:06 +0200
committerIngo Molnar <mingo@elte.hu>2009-07-01 12:49:48 +0200
commitf37a291c527c954df4da568de718ebb36b8261c0 (patch)
treebb4863fbd185fbfef5f7d28cb4001d59d4123a2d /tools/perf/util/callchain.c
parentperf report: Fix HV bit mismerge (diff)
downloadlinux-f37a291c527c954df4da568de718ebb36b8261c0.tar.xz
linux-f37a291c527c954df4da568de718ebb36b8261c0.zip
perf_counter tools: Add more warnings and fix/annotate them
Enable -Wextra. This found a few real bugs plus a number of signed/unsigned type mismatches/uncleanlinesses. It also required a few annotations All things considered it was still worth it so lets try with this enabled for now. Cc: Peter Zijlstra <a.p.zijlstra@chello.nl> Cc: Mike Galbraith <efault@gmx.de> Cc: Paul Mackerras <paulus@samba.org> Cc: Arnaldo Carvalho de Melo <acme@redhat.com> Cc: Frederic Weisbecker <fweisbec@gmail.com> LKML-Reference: <new-submission> Signed-off-by: Ingo Molnar <mingo@elte.hu>
Diffstat (limited to 'tools/perf/util/callchain.c')
-rw-r--r--tools/perf/util/callchain.c15
1 files changed, 8 insertions, 7 deletions
diff --git a/tools/perf/util/callchain.c b/tools/perf/util/callchain.c
index 440db12c6359..3dceabd9b5ef 100644
--- a/tools/perf/util/callchain.c
+++ b/tools/perf/util/callchain.c
@@ -92,7 +92,7 @@ static void
fill_node(struct callchain_node *node, struct ip_callchain *chain,
int start, struct symbol **syms)
{
- int i;
+ unsigned int i;
for (i = start; i < chain->nr; i++) {
struct callchain_list *call;
@@ -135,7 +135,7 @@ split_add_child(struct callchain_node *parent, struct ip_callchain *chain,
{
struct callchain_node *new;
struct list_head *old_tail;
- int idx_total = idx_parents + idx_local;
+ unsigned int idx_total = idx_parents + idx_local;
/* split */
new = create_child(parent, true);
@@ -164,17 +164,18 @@ split_add_child(struct callchain_node *parent, struct ip_callchain *chain,
static int
__append_chain(struct callchain_node *root, struct ip_callchain *chain,
- int start, struct symbol **syms);
+ unsigned int start, struct symbol **syms);
static void
__append_chain_children(struct callchain_node *root, struct ip_callchain *chain,
- struct symbol **syms, int start)
+ struct symbol **syms, unsigned int start)
{
struct callchain_node *rnode;
/* lookup in childrens */
list_for_each_entry(rnode, &root->children, brothers) {
- int ret = __append_chain(rnode, chain, start, syms);
+ unsigned int ret = __append_chain(rnode, chain, start, syms);
+
if (!ret)
return;
}
@@ -184,10 +185,10 @@ __append_chain_children(struct callchain_node *root, struct ip_callchain *chain,
static int
__append_chain(struct callchain_node *root, struct ip_callchain *chain,
- int start, struct symbol **syms)
+ unsigned int start, struct symbol **syms)
{
struct callchain_list *cnode;
- int i = start;
+ unsigned int i = start;
bool found = false;
/*