adlint 1.6.0 → 1.8.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
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