Here is some diff comparing output between the sparse 0.2 and the tip of git.

-mm/mmap.c:1631:2: warning: context imbalance in 'expand_stack' - different lock
 contexts for basic block
+include/linux/rmap.h:55:2: warning: context imbalance in 'expand_stack' - diffe

The change is introduced by the inline annotate instruction,
which mark the bb->pos to the inline function.

This change make it back to the caller position.

Signed-Off-By: Christopher Li <[EMAIL PROTECTED]>

Index: sparse/linearize.c
===================================================================
--- sparse.orig/linearize.c     2007-03-22 14:11:40.000000000 -0700
+++ sparse/linearize.c  2007-03-23 13:15:28.000000000 -0700
@@ -1650,6 +1650,7 @@ static pseudo_t linearize_inlined_call(s
 {
        struct instruction *insn = alloc_instruction(OP_INLINED_CALL, 0);
        struct statement *args = stmt->args;
+       struct basic_block *bb;
        pseudo_t pseudo;
 
        if (args) {
@@ -1664,6 +1665,9 @@ static pseudo_t linearize_inlined_call(s
 
        insn->target = pseudo = linearize_compound_statement(ep, stmt);
        use_pseudo(insn, symbol_pseudo(ep, stmt->inline_fn), &insn->func);
+       bb = ep->active;
+       if (bb && !bb->insns)
+               bb->pos = stmt->pos;
        add_one_insn(ep, insn);
        return pseudo;
 }
-
To unsubscribe from this list: send the line "unsubscribe linux-sparse" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to