linux-sparse.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Josh Triplett <josh@freedesktop.org>
To: Christopher Li <sparse@chrisli.org>
Cc: linux-sparse@vger.kernel.org, Linus Torvalds <torvalds@osdl.org>
Subject: Re: [PATCH 0/5] keyword driven parsing
Date: Wed, 07 Mar 2007 22:55:07 -0800	[thread overview]
Message-ID: <45EFB34B.6030101@freedesktop.org> (raw)
In-Reply-To: <20070307100109.GA10577@chrisli.org>


[-- Attachment #1.1: Type: text/plain, Size: 442 bytes --]

Christopher Li wrote:
> Here is an attempt to use keyword driven parsing.
> 
> The effect is that, we don't need to keep on adding keyword to
> ident-list any more.

Beautiful!  Looks far more elegant and maintainable; thanks.

I've applied the first four patches in this series.  The fifth causes a
regression in validation/context.c; see the attached diff of the output from
the fourth to the fifth patches.

- Josh Triplett


[-- Attachment #1.2: sparse-validation-output.diff --]
[-- Type: text/plain, Size: 5114 bytes --]

--- sparse-validation-output-4	2007-03-07 22:06:53.000000000 -0800
+++ sparse-validation-output-5	2007-03-07 22:06:29.000000000 -0800
@@ -49,20 +49,40 @@
 validation/choose_expr.c:4:17: warning: division by zero
 validation/cond_expr.c:10:9: error: incompatible types for operation (~)
 validation/cond_expr.c:10:9:    argument has type double 
-validation/context.c:69:13: warning: context imbalance in 'warn_lock1' - wrong count at exit
-validation/context.c:74:13: warning: context imbalance in 'warn_lock2' - wrong count at exit
-validation/context.c:81:13: warning: context imbalance in 'warn_lock3' - wrong count at exit
-validation/context.c:88:13: warning: context imbalance in 'warn_unlock1' - unexpected unlock
+validation/context.c:3:13: warning: context imbalance in 'a' - wrong count at exit
+validation/context.c:8:13: warning: context imbalance in 'r' - unexpected unlock
+validation/context.c:16:13: warning: context imbalance in 'good_paired1' - unexpected unlock
+validation/context.c:22:13: warning: context imbalance in 'good_paired2' - unexpected unlock
+validation/context.c:30:13: warning: context imbalance in 'good_paired3' - unexpected unlock
+validation/context.c:43:13: warning: context imbalance in 'good_lock2' - unexpected unlock
+validation/context.c:50:13: warning: context imbalance in 'good_lock3' - unexpected unlock
+validation/context.c:62:13: warning: context imbalance in 'good_unlock2' - unexpected unlock
+validation/context.c:69:13: warning: context imbalance in 'warn_lock1' - unexpected unlock
+validation/context.c:74:13: warning: context imbalance in 'warn_lock2' - unexpected unlock
+validation/context.c:81:13: warning: context imbalance in 'warn_lock3' - unexpected unlock
 validation/context.c:93:13: warning: context imbalance in 'warn_unlock2' - unexpected unlock
-validation/context.c:131:12: warning: context imbalance in 'warn_if1' - wrong count at exit
-validation/context.c:140:12: warning: context imbalance in 'warn_if2' - different lock contexts for basic block
-validation/context.c:202:2: warning: context imbalance in 'warn_while1' - different lock contexts for basic block
-validation/context.c:210:3: warning: context imbalance in 'warn_while2' - unexpected unlock
-validation/context.c:216:2: warning: context imbalance in 'warn_while3' - wrong count at exit
-validation/context.c:274:13: warning: context imbalance in 'warn_goto1' - wrong count at exit
-validation/context.c:283:13: warning: context imbalance in 'warn_goto2' - wrong count at exit
-validation/context.c:300:5: warning: context imbalance in 'warn_goto3' - different lock contexts for basic block
-validation/context.c:315:5: warning: context imbalance in 'warn_cond_lock1' - different lock contexts for basic block
+validation/context.c:102:12: warning: context imbalance in 'good_if1' - unexpected unlock
+validation/context.c:116:3: warning: context imbalance in 'good_if2' - unexpected unlock
+validation/context.c:121:13: warning: context imbalance in 'good_if3' - unexpected unlock
+validation/context.c:131:12: warning: context imbalance in 'warn_if1' - unexpected unlock
+validation/context.c:140:12: warning: context imbalance in 'warn_if2' - unexpected unlock
+validation/context.c:150:13: warning: context imbalance in 'good_while1' - unexpected unlock
+validation/context.c:161:3: warning: context imbalance in 'good_while2' - unexpected unlock
+validation/context.c:169:3: warning: context imbalance in 'good_while3' - unexpected unlock
+validation/context.c:178:13: warning: context imbalance in 'good_while4' - unexpected unlock
+validation/context.c:189:13: warning: context imbalance in 'good_while5' - unexpected unlock
+validation/context.c:203:3: warning: context imbalance in 'warn_while1' - unexpected unlock
+validation/context.c:217:3: warning: context imbalance in 'warn_while3' - unexpected unlock
+validation/context.c:224:13: warning: context imbalance in 'good_goto1' - unexpected unlock
+validation/context.c:232:13: warning: context imbalance in 'good_goto2' - unexpected unlock
+validation/context.c:242:13: warning: context imbalance in 'good_goto3' - unexpected unlock
+validation/context.c:257:5: warning: context imbalance in 'good_goto4' - unexpected unlock
+validation/context.c:263:13: warning: context imbalance in 'good_goto5' - unexpected unlock
+validation/context.c:274:13: warning: context imbalance in 'warn_goto1' - unexpected unlock
+validation/context.c:283:13: warning: context imbalance in 'warn_goto2' - unexpected unlock
+validation/context.c:293:13: warning: context imbalance in 'warn_goto3' - unexpected unlock
+validation/context.c:305:5: warning: context imbalance in 'good_cond_lock1' - wrong count at exit
+validation/context.c:315:5: warning: context imbalance in 'warn_cond_lock1' - wrong count at exit
 /usr/include/features.h:265:5: warning: undefined preprocessor identifier '_FORTIFY_SOURCE'
 /usr/include/string.h:420:6: warning: undefined preprocessor identifier '__USE_FORTIFY_LEVEL'
 validation/foul-bitwise.c:9:9: warning: restricted degrades to integer

[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 252 bytes --]

  parent reply	other threads:[~2007-03-08  6:55 UTC|newest]

Thread overview: 5+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2007-03-07 10:01 [PATCH 0/5] keyword driven parsing Christopher Li
2007-03-07 15:45 ` Linus Torvalds
2007-03-08  6:55 ` Josh Triplett [this message]
2007-03-08  8:59   ` Christopher Li
2007-03-09 23:29     ` Josh Triplett

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=45EFB34B.6030101@freedesktop.org \
    --to=josh@freedesktop.org \
    --cc=linux-sparse@vger.kernel.org \
    --cc=sparse@chrisli.org \
    --cc=torvalds@osdl.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).