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

--- 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: signature.asc
Description: OpenPGP digital signature

Reply via email to