adlint 1.6.0 → 1.8.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (50) hide show
  1. data/ChangeLog +389 -37
  2. data/INSTALL +3 -0
  3. data/MANIFEST +7 -0
  4. data/NEWS +50 -10
  5. data/etc/conf.d/i686-mingw/cinit-gcc_4.6.1.erb +1 -1
  6. data/etc/mesg.d/en_US/messages.yml +7 -7
  7. data/etc/mesg.d/ja_JP/messages.yml +4 -4
  8. data/lib/adlint/c/branch.rb +4 -4
  9. data/lib/adlint/c/code.rb +11 -13
  10. data/lib/adlint/c/enum.rb +0 -2
  11. data/lib/adlint/c/environ.rb +13 -7
  12. data/lib/adlint/c/expr.rb +5 -1
  13. data/lib/adlint/c/interp.rb +10 -6
  14. data/lib/adlint/c/mediator.rb +1 -0
  15. data/lib/adlint/c/message.rb +294 -111
  16. data/lib/adlint/c/message_shima.rb +63 -0
  17. data/lib/adlint/c/metric.rb +25 -13
  18. data/lib/adlint/c/object.rb +168 -31
  19. data/lib/adlint/c/parser.rb +3 -3
  20. data/lib/adlint/c/phase.rb +20 -3
  21. data/lib/adlint/c/syntax.rb +175 -17
  22. data/lib/adlint/c/value.rb +199 -126
  23. data/lib/adlint/cpp/asm.rb +4 -4
  24. data/lib/adlint/cpp/constexpr.rb +1 -1
  25. data/lib/adlint/cpp/eval.rb +6 -4
  26. data/lib/adlint/cpp/message.rb +100 -7
  27. data/lib/adlint/cpp/phase.rb +12 -1
  28. data/lib/adlint/cpp/source.rb +2 -2
  29. data/lib/adlint/cpp/subst.rb +2 -4
  30. data/lib/adlint/lang.rb +5 -3
  31. data/lib/adlint/ld/metric.rb +1 -1
  32. data/lib/adlint/version.rb +2 -2
  33. data/share/demo/Makefile +5 -0
  34. data/share/demo/bad_include/bad_include.c +13 -0
  35. data/share/demo/bad_include/test'1'.h +0 -0
  36. data/share/demo/bad_include/test'2'.h +0 -0
  37. data/share/demo/incomplete_ifelse/incomplete_ifelse.c +29 -0
  38. data/share/demo/inline_asm/inline_asm.c +25 -0
  39. data/share/demo/invalid_call/invalid_call.c +12 -4
  40. data/share/demo/logical_expr/logical_expr.c +73 -0
  41. data/share/demo/register_vars/register_vars.c +12 -0
  42. data/share/demo/typedef_each_src/typedef_each_src.c +9 -0
  43. data/share/demo/wrap_around/wrap_around.c +17 -0
  44. data/share/doc/developers_guide_ja.html +3 -3
  45. data/share/doc/developers_guide_ja.texi +1 -1
  46. data/share/doc/users_guide_en.html +137 -102
  47. data/share/doc/users_guide_en.texi +121 -86
  48. data/share/doc/users_guide_ja.html +118 -91
  49. data/share/doc/users_guide_ja.texi +103 -76
  50. metadata +10 -3
data/ChangeLog CHANGED
@@ -1,3 +1,350 @@
1
+ Fri Apr 27 17:29:22 2012 Yutaka Yanoh <yanoh@users.sourceforge.net>
2
+
3
+ * release.ga : 1.8.0
4
+ - Add W0607 detection.
5
+ - Add W0608 detection.
6
+ - Add W0625 detection.
7
+ - Add W0632 detection.
8
+ - Add W0633 detection.
9
+ - Add W0634 detection.
10
+ - Add W0642 detection.
11
+ - Add W0711 detection.
12
+ - Add W0712 detection.
13
+ - Add W0713 detection.
14
+ - Add W0714 detection.
15
+ - Add W0715 detection.
16
+ - Add W0832 detection.
17
+ - Fix W0629 detection not to warn when the translation-unit local
18
+ function is referred to derive a pointer to the function.
19
+ - Fix W0459 and W0460 detections not to warn about inner variables
20
+ owned by a temporary variable.
21
+ - Fix W0461 and W0462 detections not to warn when the length omitted
22
+ array parameter is specified as an argument.
23
+ - Fix W1031 detection not to warn when the storage-class-specifier of
24
+ the object declaration is explicitly specified and the
25
+ storage-class-specifier of following object definition is omitted.
26
+ - Fix W0581, W0582, W0583 and W0584 detections not to warn when the
27
+ corresponding types of argument and parameter are array-array or
28
+ array-pointer pair.
29
+ - Fix W0581 detection to warn when the number of arguments in current
30
+ function call is greater than the number of arguments in previous
31
+ function calls.
32
+ - Fix W0582, W0583 and W0584 detections to warn when the number of
33
+ parameters is greater than the number of arguments.
34
+ - Fix abend problem when the pathname of #include_next directive is
35
+ not in the executing environment.
36
+ - Support mswin path separator in #include or #include_next
37
+ directives.
38
+ - Fix bad FN_UELS (number of incomplete if-else-if statement chains)
39
+ metric measurement.
40
+ - Improve value version management of the abstract interpreter.
41
+
42
+ Fri Apr 27 16:58:38 2012 Rie Shima <rkakuuchi@users.sourceforge.net>
43
+
44
+ * share/doc/users_guide_ja.texi : Update descriptions about added
45
+ warning messages.
46
+ * share/doc/users_guide_en.texi : Ditto.
47
+
48
+ Fri Apr 27 15:42:29 2012 Yutaka Yanoh <yanoh@users.sourceforge.net>
49
+
50
+ * etc/mesg.d/ja_JP/messages.yml : Revise W0541 message text.
51
+ * etc/mesg.d/en_US/messages.yml : Ditto.
52
+
53
+ Fri Apr 27 15:36:36 2012 Yutaka Yanoh <yanoh@users.sourceforge.net>
54
+
55
+ * lib/adlint/c/message.rb : Fix W0629 detection not to warn when the
56
+ translation-unit local function is referred to derive a pointer to
57
+ the function.
58
+
59
+ Fri Apr 27 14:24:03 2012 Yutaka Yanoh <yanoh@users.sourceforge.net>
60
+
61
+ * release.rc : 1.7.6
62
+ - Fix W0582, W0583 and W0584 detections to warn when the number of
63
+ parameters is greater than the number of arguments.
64
+ - Fix W0581 detection to warn when the number of arguments in
65
+ current function call is greater than the number of arguments in
66
+ previous function calls.
67
+ - Revise specification of W0541 and W0832 detections to warn at the
68
+ inline assembly code.
69
+
70
+ Fri Apr 27 14:18:05 2012 Yutaka Yanoh <yanoh@users.sourceforge.net>
71
+
72
+ * lib/adlint/cpp/message.rb : Revise specification of W0541 and W0832
73
+ detections to warn at the inline assembly code.
74
+
75
+ Fri Apr 27 13:40:05 2012 Yutaka Yanoh <yanoh@users.sourceforge.net>
76
+
77
+ * lib/adlint/c/message.rb : Fix W0581 detection to warn when the
78
+ number of arguments in current function call is greater than the
79
+ number of arguments in previous function calls.
80
+
81
+ * lib/adlint/c/message.rb : Fix W0582, W0583 and W0584 detections to
82
+ warn when the number of parameters is greater than the number of
83
+ arguments.
84
+
85
+ Fri Apr 27 11:50:47 2012 Yutaka Yanoh <yanoh@users.sourceforge.net>
86
+
87
+ * release.rc : 1.7.5
88
+ - Fix W0459 and W0460 detections not to warn about inner variables
89
+ owned by a temporary variable.
90
+ - Fix W0461 and W0462 detections not to warn when the length omitted
91
+ array parameter is specified as an argument.
92
+ - Fix W1031 detection not to warn when the storage-class-specifier
93
+ of the object declaration is explicitly specified and the
94
+ storage-class-specifier of following object definition is omitted.
95
+ - Fix W0581, W0582, W0583 and W0584 detections not to warn when the
96
+ corresponding types of argument and parameter are array-array or
97
+ array-pointer pair.
98
+
99
+ Fri Apr 27 11:20:10 2012 Yutaka Yanoh <yanoh@users.sourceforge.net>
100
+
101
+ * lib/adlint/c/message.rb : Fix W0581, W0582, W0583 and W0584
102
+ detections not to warn when the corresponding types of argument and
103
+ parameter are array-array or array-pointer pair.
104
+
105
+ * share/demo/invalid_call/invalid_call.c : Add sample code.
106
+
107
+ Fri Apr 27 10:19:32 2012 Yutaka Yanoh <yanoh@users.sourceforge.net>
108
+
109
+ * lib/adlint/c/message.rb : Fix W1031 detection not to warn when the
110
+ storage-class-specifier of the object declaration is explicitly
111
+ specified and the storage-class-specifier of following object
112
+ definition is omitted.
113
+
114
+ Thu Apr 26 14:40:36 2012 Yutaka Yanoh <yanoh@users.sourceforge.net>
115
+
116
+ * lib/adlint/c/message.rb : Fix W0461 and W0462 detections not to warn
117
+ when the length omitted array parameter is specified as an argument.
118
+ * lib/adlint/c/value.rb : Ditto.
119
+
120
+ Thu Apr 26 14:31:52 2012 Yutaka Yanoh <yanoh@users.sourceforge.net>
121
+
122
+ * lib/adlint/c/object.rb : Fix W0459 and W0460 detections not to warn
123
+ about inner variables owned by a temporary variable.
124
+
125
+ Thu Apr 26 09:28:26 2012 Yutaka Yanoh <yanoh@users.sourceforge.net>
126
+
127
+ * release.rc : 1.7.4
128
+ - Fix bad necessity determination of value version forking.
129
+ - Fix bad necessity determination of value recovery at leaving a
130
+ versioning group of the value version management.
131
+ - Remove redundant original value's snapshot of the value version
132
+ management.
133
+
134
+ Thu Apr 26 06:22:54 2012 Yutaka Yanoh <yanoh@users.sourceforge.net>
135
+
136
+ * lib/adlint/c/value.rb : Remove redundant original value's snapshot
137
+ of the value version management.
138
+
139
+ Wed Apr 25 23:17:06 2012 Yutaka Yanoh <yanoh@users.sourceforge.net>
140
+
141
+ * lib/adlint/c/value.rb : Fix bad necessity determination of value
142
+ version forking.
143
+
144
+ * lib/adlint/c/value.rb : Fix bad necessity determination of value
145
+ recovery at leaving a versioning group of the value version
146
+ management.
147
+
148
+ Wed Apr 25 19:13:39 2012 Yutaka Yanoh <yanoh@users.sourceforge.net>
149
+
150
+ * release.rc : 1.7.3
151
+ - Fix buggy new variable value version management in order not to
152
+ mismerge value versions at end of a branch group.
153
+
154
+ Wed Apr 25 18:36:53 2012 Yutaka Yanoh <yanoh@users.sourceforge.net>
155
+
156
+ * lib/adlint/c/value.rb : Fix buggy new variable value version
157
+ management in order not to mismerge value versions at end of a branch
158
+ group.
159
+
160
+ Tue Apr 24 19:11:55 2012 Yutaka Yanoh <yanoh@users.sourceforge.net>
161
+
162
+ * release.rc : 1.7.2
163
+ - Fix buggy new variable value version management in order not to
164
+ misunderstand that the effective branches in switch-statement are
165
+ deadcodes.
166
+
167
+ Tue Apr 24 18:31:18 2012 Yutaka Yanoh <yanoh@users.sourceforge.net>
168
+
169
+ * lib/adlint/c/value.rb : Fix buggy new variable value version
170
+ management in order not to misunderstand that the effective branches
171
+ in switch-statement are deadcodes.
172
+
173
+ Tue Apr 23 22:21:04 2012 Yutaka Yanoh <yanoh@users.sourceforge.net>
174
+
175
+ * release.rc : 1.7.1
176
+ - Revise data structure of the variable value versioning in order not
177
+ to smother narrowed values in branches without reassignments.
178
+ - Revise default value of uninitialized global or static variables to
179
+ arbitrary value from 0.
180
+ - Fix interpretation environment to correctly manage value versions
181
+ of inner variables of global array or composite typed variables.
182
+
183
+ Tue Apr 23 18:45:14 2012 Yutaka Yanoh <yanoh@users.sourceforge.net>
184
+
185
+ * lib/adlint/c/value.rb : Revise data structure of the variable value
186
+ versioning in order not to smother narrowed values in branches
187
+ without reassignments.
188
+
189
+ * lib/adlint/c/object.rb : Revise default value of uninitialized global
190
+ or static variables to arbitrary value from 0.
191
+
192
+ * lib/adlint/c/branch.rb : Rename unfavorite method names.
193
+ * lib/adlint/c/environ.rb : Ditto.
194
+ * lib/adlint/c/interp.rb : Ditto.
195
+ * lib/adlint/c/object.rb : Ditto.
196
+
197
+ * lib/adlint/c/environ.rb : Fix interpretation environment to correctly
198
+ manage value versions of inner variables of global array or composite
199
+ typed variables.
200
+ * lib/adlint/c/object.rb : Ditto.
201
+
202
+ Tue Apr 10 18:27:50 2012 Yutaka Yanoh <yanoh@users.sourceforge.net>
203
+
204
+ * release.rc : 1.7.0
205
+ - This is the initial release candidate for 1.8.0 GA release.
206
+ - Add W0607 detection.
207
+ - Add W0608 detection.
208
+ - Add W0625 detection.
209
+ - Add W0632 detection.
210
+ - Add W0633 detection.
211
+ - Add W0634 detection.
212
+ - Add W0642 detection.
213
+ - Add W0711 detection.
214
+ - Add W0712 detection.
215
+ - Add W0713 detection.
216
+ - Add W0714 detection.
217
+ - Add W0715 detection.
218
+ - Add W0832 detection.
219
+ - Fix abend problem when the pathname of #include_next directive is
220
+ not in the executing environment.
221
+ - Fix bad FN_UELS (number of incomplete if-else-if statement chains)
222
+ metric measurement.
223
+ - Fix W0541 detection to warn once a function only when an inline
224
+ assembly code is not wrapped by macro.
225
+
226
+ Tue Apr 10 18:25:31 2012 Rie Shima <rkakuuchi@users.sourceforge.net>
227
+
228
+ * lib/adlint/c/message_shima.rb : Add W0711, W0712, W0713, W0714 and
229
+ W0715 detections.
230
+ * lib/adlint/c/phase.rb : Ditto.
231
+
232
+ * share/demo/Makefile : Add `logical_expr' demo.
233
+ * share/demo/logical_expr/logical_expr.c : Ditto.
234
+ * MANIFEST : Ditto.
235
+
236
+ Tue Apr 10 17:55:04 2012 Yutaka Yanoh <yanoh@users.sourceforge.net>
237
+
238
+ * lib/adlint/c/syntax.rb : Add logicality determination of expressions.
239
+
240
+ Tue Apr 10 17:09:40 2012 Yutaka Yanoh <yanoh@users.sourceforge.net>
241
+
242
+ * lib/adlint/lang.rb : Fix phase composition to move up preparation so
243
+ that commands which depend on both preprocessor and C language
244
+ processor can be instantiated earlier.
245
+ * lib/adlint/cpp/phase.rb : Ditto.
246
+ * lib/adlint/c/phase.rb : Ditto.
247
+
248
+ * lib/adlint/cpp/message.rb : Fix W0541 detection to warn once a
249
+ function only when an inline assembly code is not wrapped by macro.
250
+
251
+ * lib/adlint/cpp/message.rb : Add W0832 detection.
252
+ * lib/adlint/cpp/phase.rb : Ditto.
253
+
254
+ * share/demo/inline_asm/inline_asm.c : Add sample code.
255
+
256
+ Tue Apr 10 14:10:31 2012 Yutaka Yanoh <yanoh@users.sourceforge.net>
257
+
258
+ * lib/adlint/cpp/subst.rb : Revise code substitution notification to
259
+ pass the matched token array.
260
+ * lib/adlint/cpp/message.rb : Ditto.
261
+
262
+ Tue Apr 10 12:30:13 2012 Yutaka Yanoh <yanoh@users.sourceforge.net>
263
+
264
+ * lib/adlint/c/interp.rb : Add function object parameter to
265
+ notifications of function evaluation.
266
+ * lib/adlint/c/syntax.rb : Ditto.
267
+ * lib/adlint/c/metric.rb : Ditto.
268
+ * lib/adlint/c/code.rb : Ditto.
269
+ * lib/adlint/c/message.rb : Ditto.
270
+
271
+ * lib/adlint/c/object.rb : Change interface of Function#signature to
272
+ return a FunctionSignature object.
273
+
274
+ * lib/adlint/c/message.rb : Add W0625 detection.
275
+ * lib/adlint/c/phase.rb : Ditto.
276
+
277
+ * share/demo/Makefile : Add `typedef_each_src' demo.
278
+ * share/demo/typedef_each_src/typedef_each_src.c : Ditto.
279
+ * MANIFEST : Ditto.
280
+
281
+ Tue Apr 10 08:43:43 2012 Yutaka Yanoh <yanoh@users.sourceforge.net>
282
+
283
+ * etc/mesg.d/en_US/messages.yml : Refine W0688, W0689 and W0690 message
284
+ text.
285
+ * share/doc/users_guide_en.texi : Ditto.
286
+
287
+ Mon Apr 9 23:21:08 2012 Yutaka Yanoh <yanoh@users.sourceforge.net>
288
+
289
+ * lib/adlint/c/metric.rb : Fix bad FN_UELS (number of incomplete
290
+ if-else-if statement chains) metric measurement.
291
+
292
+ * share/demo/Makefile : Add `incomplete_ifelse' demo.
293
+ * share/demo/incomplete_ifelse/incomplete_ifelse.c : Ditto.
294
+ * MANIFEST : Ditto.
295
+
296
+ Mon Apr 9 20:34:51 2012 Yutaka Yanoh <yanoh@users.sourceforge.net>
297
+
298
+ * lib/adlint/c/expr.rb : Add notification about address-expression.
299
+ * lib/adlint/c/interp.rb : Ditto.
300
+ * lib/adlint/c/mediator.rb : Ditto.
301
+
302
+ * lib/adlint/c/object.rb : Add storage class determination of objects.
303
+
304
+ * lib/adlint/c/message.rb : Add W0642 detection.
305
+ * lib/adlint/c/phase.rb : Ditto.
306
+
307
+ * share/demo/Makefile : Add `register_vars' demo.
308
+ * share/demo/register_vars/register_vars.c : Ditto.
309
+ * MANIFEST : Ditto.
310
+
311
+ Mon Apr 9 13:14:51 2012 Yutaka Yanoh <yanoh@users.sourceforge.net>
312
+
313
+ * lib/adlint/cpp/message.rb : Add W0634 detection.
314
+ * lib/adlint/cpp/phase.rb : Ditto.
315
+
316
+ * lib/adlint/cpp/eval.rb : Fix abend problem when the pathname of
317
+ #include_next directive is not in the executing environment.
318
+
319
+ * lib/adlint/cpp/eval.rb : Support mswin path separator in #include or
320
+ #include_next directives.
321
+
322
+ * share/demo/bad_include/bad_include.c : Add sample code.
323
+
324
+ Mon Apr 9 12:03:08 2012 Yutaka Yanoh <yanoh@users.sourceforge.net>
325
+
326
+ * lib/adlint/cpp/message.rb : Add W0632 and W0633 detections.
327
+ * lib/adlint/cpp/phase.rb : Ditto.
328
+
329
+ * etc/mesg.d/ja_JP/messages.yml : Revise W0632 and W0633 message text.
330
+ * etc/mesg.d/en_US/messages.yml : Ditto.
331
+
332
+ * share/demo/Makefile : Add `bad_include' demo.
333
+ * share/demo/bad_include/bad_include.c : Ditto.
334
+ * share/demo/bad_include/test"1".h : Ditto.
335
+ * share/demo/bad_include/test'1'.h : Ditto.
336
+ * share/demo/bad_include/test'2'.h : Ditto.
337
+
338
+ * share/doc/users_guide_ja.texi : Update W0632 and W0633 message text.
339
+ * share/doc/users_guide_en.texi : Ditto.
340
+
341
+ Mon Apr 9 11:22:39 2012 Yutaka Yanoh <yanoh@users.sourceforge.net>
342
+
343
+ * lib/adlint/c/message.rb : Add W0607 and W0608 detections.
344
+ * lib/adlint/c/phase.rb : Ditto.
345
+
346
+ * share/demo/wrap_around/wrap_around.c : Add sample code.
347
+
1
348
  Fri Apr 6 20:00:34 2012 Yutaka Yanoh <yanoh@users.sourceforge.net>
2
349
 
3
350
  * release.ga : 1.6.0
@@ -44,7 +391,7 @@ Fri Apr 6 19:49:19 2012 Rie Shima <rkakuuchi@users.sourceforge.net>
44
391
 
45
392
  Fri Apr 6 19:13:05 2012 Yutaka Yanoh <yanoh@users.sourceforge.net>
46
393
 
47
- * release.beta : 1.5.5
394
+ * release.rc : 1.5.5
48
395
  - Fix W1053 detection to warn only about constant expressions.
49
396
 
50
397
  Fri Apr 6 19:06:34 2012 Yutaka Yanoh <yanoh@users.sourceforge.net>
@@ -54,7 +401,7 @@ Fri Apr 6 19:06:34 2012 Yutaka Yanoh <yanoh@users.sourceforge.net>
54
401
 
55
402
  Fri Apr 6 16:44:17 2012 Yutaka Yanoh <yanoh@users.sourceforge.net>
56
403
 
57
- * release.beta : 1.5.4
404
+ * release.rc : 1.5.4
58
405
  - Fix abend problem of W0461 and W0462 detections when a function is
59
406
  specified as an argument.
60
407
 
@@ -65,7 +412,7 @@ Fri Apr 6 15:51:59 2012 Yutaka Yanoh <yanoh@users.sourceforge.net>
65
412
 
66
413
  Fri Apr 6 15:35:17 2012 Yutaka Yanoh <yanoh@users.sourceforge.net>
67
414
 
68
- * release.beta : 1.5.3
415
+ * release.rc : 1.5.3
69
416
  - Fix degraded W0581, W0639 and W0640 detections.
70
417
 
71
418
  Fri Apr 6 15:32:44 2012 Yutaka Yanoh <yanoh@users.sourceforge.net>
@@ -75,7 +422,7 @@ Fri Apr 6 15:32:44 2012 Yutaka Yanoh <yanoh@users.sourceforge.net>
75
422
 
76
423
  Fri Apr 6 11:48:37 2012 Yutaka Yanoh <yanoh@users.sourceforge.net>
77
424
 
78
- * release.beta : 1.5.2
425
+ * release.rc : 1.5.2
79
426
  - Fix W0787, W0788 and W0789 detections to consider variable and
80
427
  function definitions.
81
428
  - Fix W0104 detection not to warn about invariant parameter of array
@@ -150,7 +497,7 @@ Thu Apr 5 16:43:55 2012 Yutaka Yanoh <yanoh@users.sourceforge.net>
150
497
 
151
498
  Thu Apr 5 15:05:37 2012 Yutaka Yanoh <yanoh@users.sourceforge.net>
152
499
 
153
- * release.beta : 1.5.1
500
+ * release.rc : 1.5.1
154
501
  - Add W0579 detection.
155
502
  - Add W0686 detection.
156
503
  - Add W0787 detection.
@@ -200,8 +547,8 @@ Tue Apr 3 19:03:44 2012 Yutaka Yanoh <yanoh@users.sourceforge.net>
200
547
 
201
548
  Tue Apr 3 16:37:30 2012 Yutaka Yanoh <yanoh@users.sourceforge.net>
202
549
 
203
- * release.beta : 1.5.0
204
- - This is the initial beta release for 1.6.0 GA release.
550
+ * release.rc : 1.5.0
551
+ - This is the initial release candidate for 1.6.0 GA release.
205
552
  - Add W0541 detection.
206
553
  - Add W0573 detection.
207
554
  - Add W0685 detection.
@@ -424,7 +771,7 @@ Thu Mar 29 10:53:48 2012 Yutaka Yanoh <yanoh@users.sourceforge.net>
424
771
 
425
772
  Wed Mar 28 15:30:55 2012 Yutaka Yanoh <yanoh@users.sourceforge.net>
426
773
 
427
- * release.beta : 1.3.3
774
+ * release.rc : 1.3.3
428
775
  - Fix interpreter in order to detect W0653 correctly.
429
776
 
430
777
  Wed Mar 28 15:24:20 2012 Yutaka Yanoh <yanoh@users.sourceforge.net>
@@ -435,7 +782,7 @@ Wed Mar 28 15:24:20 2012 Yutaka Yanoh <yanoh@users.sourceforge.net>
435
782
 
436
783
  Wed Mar 28 13:51:55 2012 Yutaka Yanoh <yanoh@users.sourceforge.net>
437
784
 
438
- * release.beta : 1.3.2
785
+ * release.rc : 1.3.2
439
786
  - Fix interpreter in order to detect W0255 family, W0459, W0580,
440
787
  W0653, W0654 and W0730 correctly.
441
788
  - Update the user's guide in Japanese.
@@ -473,7 +820,7 @@ Wed Mar 28 09:58:58 2012 Yutaka Yanoh <yanoh@users.sourceforge.net>
473
820
 
474
821
  Tue Mar 27 17:59:37 2012 Yutaka Yanoh <yanoh@users.sourceforge.net>
475
822
 
476
- * release.beta : 1.3.1
823
+ * release.rc : 1.3.1
477
824
  - Add W0737 detection.
478
825
  - Add W0738 detection.
479
826
  - Add W0739 detection.
@@ -536,8 +883,8 @@ Tue Mar 27 12:05:03 2012 Yutaka Yanoh <yanoh@users.sourceforge.net>
536
883
 
537
884
  Mon Mar 26 17:05:05 2012 Yutaka Yanoh <yanoh@users.sourceforge.net>
538
885
 
539
- * release.beta : 1.3.0
540
- - This is the initial beta release for 1.4.0 GA release.
886
+ * release.rc : 1.3.0
887
+ - This is the initial release candidate for 1.4.0 GA release.
541
888
  - Add W0606 detection.
542
889
  - Add W0687 detection.
543
890
  - Add W0695 detection.
@@ -695,7 +1042,7 @@ Wed Mar 21 18:50:39 2012 Yutaka Yanoh <yanoh@users.sourceforge.net>
695
1042
 
696
1043
  Wed Mar 21 14:36:30 2012 Yutaka Yanoh <yanoh@users.sourceforge.net>
697
1044
 
698
- * release.beta : 1.1.2
1045
+ * release.rc : 1.1.2
699
1046
  - Revise specification of W0459 and W0460 detections not to warn when
700
1047
  a pointer argument points to an uninitialized object.
701
1048
  - Fix bad FN_UNUV metric measurement.
@@ -718,7 +1065,7 @@ Wed Mar 21 13:03:26 2012 Yutaka Yanoh <yanoh@users.sourceforge.net>
718
1065
 
719
1066
  Mon Mar 19 17:48:34 2012 Yutaka Yanoh <yanoh@users.sourceforge.net>
720
1067
 
721
- * release.beta : 1.1.1
1068
+ * release.rc : 1.1.1
722
1069
  - Add W0688 detection.
723
1070
  - Add W0689 detection.
724
1071
  - Add W0690 detection.
@@ -767,8 +1114,8 @@ Mon Mar 19 14:49:07 2012 Yutaka Yanoh <yanoh@users.sourceforge.net>
767
1114
 
768
1115
  Mon Mar 19 12:43:33 2012 Yutaka Yanoh <yanoh@users.sourceforge.net>
769
1116
 
770
- * release.beta : 1.1.0
771
- - This is the initial beta release for 1.2.0 GA release.
1117
+ * release.rc : 1.1.0
1118
+ - This is the initial release candidate for 1.2.0 GA release.
772
1119
  - Add W0597 detection.
773
1120
  - Add W0598 detection.
774
1121
  - Add W0599 detection.
@@ -820,6 +1167,11 @@ Mon Feb 27 17:39:54 2012 Yutaka Yanoh <yanoh@users.sourceforge.net>
820
1167
 
821
1168
  * release.ga : 1.0.0
822
1169
  - This is the initial GA release!
1170
+ - Support single module analysis.
1171
+ - Support cross module analysis.
1172
+ - Support 597 kinds of warning detections.
1173
+ - Support 14 kinds of code structure extractions.
1174
+ - Support 15 kinds of code quality metric measurements.
823
1175
  - Fix traits file validation to allow only values greater than 0 as
824
1176
  memory alignment items such as `char_alignment'.
825
1177
  - Correct to run on Ruby 1.9.3-p125 without warnings.
@@ -1272,12 +1624,12 @@ Wed Nov 16 20:37:38 2011 Yutaka Yanoh <yanoh@users.sourceforge.net>
1272
1624
  - Fix W0950 detection to warn all constants in the multi demension
1273
1625
  array variable definition.
1274
1626
  - Fix degraded W0088 detection.
1275
- - Fix W0459 detection not to warn the array variable initialized
1276
- with the string-literal-specifier.
1627
+ - Fix W0459 detection not to warn the array variable initialized with
1628
+ the string-literal-specifier.
1277
1629
  - Fix W0423 and W0424 detection to warn the
1278
1630
  prefix-increment/decrement-expression of the nullable pointer.
1279
- - Fix W0578 detection not to warn the implicit conversion of
1280
- floating values.
1631
+ - Fix W0578 detection not to warn the implicit conversion of floating
1632
+ values.
1281
1633
  - Fix degraded W0777, W0778 and W0779 detection.
1282
1634
  - Fix abend problem of evaluating the function definition which has
1283
1635
  unnamed parameter which type is a user type.
@@ -1328,8 +1680,8 @@ Mon Oct 31 18:56:14 2011 Yutaka Yanoh <yanoh@users.sourceforge.net>
1328
1680
  - Add W0629 detection.
1329
1681
  - Fix W0441 detection not to warn about wide character constants.
1330
1682
  - Add W0626 detection.
1331
- - Activate `file_encoding' setting in the `project_traits' section
1332
- of the traits file.
1683
+ - Activate `file_encoding' setting in the `project_traits' section of
1684
+ the traits file.
1333
1685
 
1334
1686
  Wed Oct 26 22:06:55 2011 Yutaka Yanoh <yanoh@users.sourceforge.net>
1335
1687
 
@@ -1353,7 +1705,7 @@ Wed Oct 26 22:06:55 2011 Yutaka Yanoh <yanoh@users.sourceforge.net>
1353
1705
  tree at the join point of execution paths.
1354
1706
  - Fix W0073 detection to warn when the unguarded header is included
1355
1707
  immediately after the inclusion of the guarded header.
1356
- - Fix bad character encoding of console and file output on Windows.
1708
+ - Fix bad character encoding of console and file output on mswin.
1357
1709
  - Add W0578 detection.
1358
1710
 
1359
1711
  Wed Oct 19 17:47:16 2011 Yutaka Yanoh <yanoh@users.sourceforge.net>
@@ -1363,15 +1715,15 @@ Wed Oct 19 17:47:16 2011 Yutaka Yanoh <yanoh@users.sourceforge.net>
1363
1715
  - Fix W0030, W0423 and W0424 detection to warn about postfix or
1364
1716
  prefix increment expressions and postfix or prefix decrement
1365
1717
  expressions.
1366
- - Fix W0100 detection not to warn about the array of pointers to
1367
- the const object.
1718
+ - Fix W0100 detection not to warn about the array of pointers to the
1719
+ const object.
1368
1720
  - Fix FN_NEST metric meassurement so that the nest level of the top
1369
1721
  of functions is 0.
1370
1722
  - Fix computation of the total lines of function definitions so that
1371
- the function body is from the line of the function name to the
1372
- line of `}' token which ends the definition.
1373
- - Rewrite buggy FN_PATH (the number of estimated static paths per
1374
- function) measurement.
1723
+ the function body is from the line of the function name to the line
1724
+ of `}' token which ends the definition.
1725
+ - Rewrite buggy FN_PATH (number of estimated static paths per
1726
+ function) metric measurement.
1375
1727
  - Add W0576 detection.
1376
1728
  - Add W0577 detection.
1377
1729
 
@@ -1382,8 +1734,8 @@ Thu Oct 13 19:53:19 2011 Yutaka Yanoh <yanoh@users.sourceforge.net>
1382
1734
  - Add W0568 detection.
1383
1735
  - Add W0569 detection.
1384
1736
  - Add W0570 detection.
1385
- - Fix W0088 detection not to warn about the controlling expression
1386
- of control statements.
1737
+ - Fix W0088 detection not to warn about the controlling expression of
1738
+ control statements.
1387
1739
  - Add W0571 detection.
1388
1740
  - Add W0572 detection.
1389
1741
  - Add W0574 detection.
@@ -1411,8 +1763,8 @@ Thu Oct 6 16:10:37 2011 Yutaka Yanoh <yanoh@users.sourceforge.net>
1411
1763
  - Add W0560 detection.
1412
1764
  - Add W0561 detection.
1413
1765
  - Add W0562 detection.
1414
- - Fix W0100 detection not to warn about the array of const type
1415
- whose dimension is greater than 1.
1766
+ - Fix W0100 detection not to warn about the array of const type whose
1767
+ dimension is greater than 1.
1416
1768
  - Fix W0080 detection not to warn about function local const
1417
1769
  variables.
1418
1770
  - Add W0563 detection.
@@ -1428,8 +1780,8 @@ Thu Oct 6 16:10:37 2011 Yutaka Yanoh <yanoh@users.sourceforge.net>
1428
1780
  - Trivial correction to run on Ruby 1.9.3-rc1 without warnings.
1429
1781
  - Fix off-by-one problems in W0001, W0037, W0049, W0050 and W0054
1430
1782
  detection.
1431
- - Fix W0549 detection not to warn when the parameter is an operand
1432
- of `#' or `##' operator.
1783
+ - Fix W0549 detection not to warn when the parameter is an operand of
1784
+ `#' or `##' operator.
1433
1785
 
1434
1786
  Tue Oct 4 17:30:33 2011 Yutaka Yanoh <yanoh@users.sourceforge.net>
1435
1787
 
@@ -1453,8 +1805,8 @@ Fri Sep 30 15:36:31 2011 Yutaka Yanoh <yanoh@users.sourceforge.net>
1453
1805
 
1454
1806
  * release.alpha : 0.3.2
1455
1807
  - Add W0534 detection.
1456
- - Fix bad file path in X0003 error message when `--output-dir'
1457
- option specified.
1808
+ - Fix bad file path in X0003 error message when `--output-dir' option
1809
+ specified.
1458
1810
  - Fix bad value domain narrowing problem after improving the
1459
1811
  interpreter on 0.3.1 release.
1460
1812
  - Add W0538 detection.
data/INSTALL CHANGED
@@ -43,9 +43,11 @@ You can evaluate \AdLint by following instructions.
43
43
 
44
44
  First, copy `intro_demo' project into your workspace. "+adlint+ +--prefix+"
45
45
  command prints the prefix pathname of the \AdLint installation directory.
46
+
46
47
  % cp -r `adlint --prefix`/share/demo/intro_demo .
47
48
 
48
49
  Second, generate configuration files for \AdLint.
50
+
49
51
  % cd intro_demo
50
52
  % adlintize
51
53
 
@@ -60,6 +62,7 @@ Following files will be generated.
60
62
  * [+adlint_files.txt+] List file for sh script and bat file.
61
63
 
62
64
  Finally, do analysis.
65
+
63
66
  % make verbose-all
64
67
  adlint --verbose -t adlint_traits.yml -o . intro_demo.c
65
68
  intro_demo.c [fin] |============================| 0.401s
data/MANIFEST CHANGED
@@ -113,6 +113,9 @@ share/demo/bad_comment/bad_comment.c
113
113
  share/demo/bad_const/bad_const.c
114
114
  share/demo/bad_conv/bad_conv.c
115
115
  share/demo/bad_enum/bad_enum.c
116
+ share/demo/bad_include/bad_include.c
117
+ share/demo/bad_include/test'1'.h
118
+ share/demo/bad_include/test'2'.h
116
119
  share/demo/bad_indent/bad_indent.c
117
120
  share/demo/bad_init/bad_init.c
118
121
  share/demo/bad_label/bad_label.c
@@ -135,6 +138,7 @@ share/demo/id_hiding/id_hiding.c
135
138
  share/demo/ill_defined/ill_defined.c
136
139
  share/demo/implicit_conv/implicit_conv.c
137
140
  share/demo/implicit_int/implicit_int.c
141
+ share/demo/incomplete_ifelse/incomplete_ifelse.c
138
142
  share/demo/incomplete_type/incomplete_type.c
139
143
  share/demo/indirect_recur/indirect_recur_1.c
140
144
  share/demo/indirect_recur/indirect_recur_1.h
@@ -151,6 +155,7 @@ share/demo/invalid_call/invalid_call.c
151
155
  share/demo/kandr_fundef/kandr_fundef.c
152
156
  share/demo/line_comment/line_comment.c
153
157
  share/demo/local_decl/local_decl.c
158
+ share/demo/logical_expr/logical_expr.c
154
159
  share/demo/logical_trick/logical_trick.c
155
160
  share/demo/long_sym/long_sym.c
156
161
  share/demo/loop_var/loop_var.c
@@ -185,6 +190,7 @@ share/demo/output_by_param/output_by_param.c
185
190
  share/demo/overflow/overflow.c
186
191
  share/demo/press_release/press_release.c
187
192
  share/demo/redundant_select/redundant_select.c
193
+ share/demo/register_vars/register_vars.c
188
194
  share/demo/reserved_ident/reserved_ident.c
189
195
  share/demo/retn_lvar_addr/retn_lvar_addr.c
190
196
  share/demo/sequence_point/sequence_point.c
@@ -193,6 +199,7 @@ share/demo/should_be_typedef/should_be_typedef.c
193
199
  share/demo/static_paths/static_paths.c
194
200
  share/demo/static_vars/static_vars.c
195
201
  share/demo/tag_hiding/tag_hiding.c
202
+ share/demo/typedef_each_src/typedef_each_src.c
196
203
  share/demo/tricky_incdec/tricky_incdec.c
197
204
  share/demo/undefined_macro/undefined_macro.c
198
205
  share/demo/uninit_vars/uninit_vars.c