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