adlint 1.8.0 → 1.8.2
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.
- data/ChangeLog +21 -1
- data/NEWS +13 -5
- data/etc/mesg.d/en_US/messages.yml +1 -1
- data/etc/mesg.d/ja_JP/messages.yml +1 -1
- data/lib/adlint/c/expr.rb +0 -2
- data/lib/adlint/c/parser.rb +2 -2
- data/lib/adlint/c/parser.y +2 -2
- data/lib/adlint/version.rb +2 -2
- data/share/demo/array_range/array_range.c +1 -1
- data/share/demo/indirect_recur/indirect_recur_1.c +1 -1
- data/share/demo/indirect_recur/indirect_recur_2.c +2 -2
- data/share/demo/indirect_recur/indirect_recur_3.c +1 -1
- data/share/demo/useless_funs/useless_funs_1.c +13 -3
- data/share/doc/developers_guide_ja.html +3 -3
- data/share/doc/developers_guide_ja.texi +1 -1
- data/share/doc/users_guide_en.html +3 -3
- data/share/doc/users_guide_en.texi +1 -1
- data/share/doc/users_guide_ja.html +3 -3
- data/share/doc/users_guide_ja.texi +1 -1
- metadata +2 -2
data/ChangeLog
CHANGED
@@ -1,3 +1,23 @@
|
|
1
|
+
Mon May 7 22:56:02 2012 Yutaka Yanoh <yanoh@users.sourceforge.net>
|
2
|
+
|
3
|
+
* release.ga : 1.8.2
|
4
|
+
- Fix evaluation of array-subscript-expression not to convert the
|
5
|
+
derived array object into a pointer in order to resolve a type of
|
6
|
+
the nested array-subscript-expression correctly.
|
7
|
+
|
8
|
+
Sat May 5 02:50:24 2012 Yutaka Yanoh <yanoh@users.sourceforge.net>
|
9
|
+
|
10
|
+
* release.rc : 1.8.1
|
11
|
+
- This is RC for the 1st patch release of the 1.8 series.
|
12
|
+
- Fix evaluation of array-subscript-expression not to convert the
|
13
|
+
derived array object into a pointer in order to resolve a type of
|
14
|
+
the nested array-subscript-expression correctly.
|
15
|
+
|
16
|
+
Fri May 4 20:59:19 2012 Yutaka Yanoh <yanoh@users.sourceforge.net>
|
17
|
+
|
18
|
+
* lib/adlint/c/expr.rb : Fix evaluation of array-subscript-expression
|
19
|
+
not to convert the derived array object into a pointer variable.
|
20
|
+
|
1
21
|
Fri Apr 27 17:29:22 2012 Yutaka Yanoh <yanoh@users.sourceforge.net>
|
2
22
|
|
3
23
|
* release.ga : 1.8.0
|
@@ -15,7 +35,7 @@ Fri Apr 27 17:29:22 2012 Yutaka Yanoh <yanoh@users.sourceforge.net>
|
|
15
35
|
- Add W0715 detection.
|
16
36
|
- Add W0832 detection.
|
17
37
|
- Fix W0629 detection not to warn when the translation-unit local
|
18
|
-
function is referred to derive a pointer to the function.
|
38
|
+
function is referred only to derive a pointer to the function.
|
19
39
|
- Fix W0459 and W0460 detections not to warn about inner variables
|
20
40
|
owned by a temporary variable.
|
21
41
|
- Fix W0461 and W0462 detections not to warn when the length omitted
|
data/NEWS
CHANGED
@@ -21,6 +21,18 @@
|
|
21
21
|
|
22
22
|
++
|
23
23
|
|
24
|
+
=== \AdLint 1.8.2 is released (2012-05-08)
|
25
|
+
|
26
|
+
==== Changes since the 1.8.0 release
|
27
|
+
|
28
|
+
* Fix evaluation of array-subscript-expression not to convert the derived array
|
29
|
+
object into a pointer in order to resolve a type of the nested
|
30
|
+
array-subscript-expression correctly
|
31
|
+
|
32
|
+
See the file
|
33
|
+
{ChangeLog}[http://adlint.sourceforge.net/pmwiki/upload.d/Main/ChangeLog]
|
34
|
+
for more details.
|
35
|
+
|
24
36
|
=== \AdLint 1.8.0 is released (2012-04-27)
|
25
37
|
|
26
38
|
==== Changes since the 1.6.0 release
|
@@ -43,7 +55,7 @@
|
|
43
55
|
* Fix W0459 and W0460 detections not to warn about inner variables owned by a
|
44
56
|
temporary variable
|
45
57
|
* Fix W0461 and W0462 detections not to warn when the length omitted array
|
46
|
-
parameter is specified as an argument
|
58
|
+
parameter is specified as an argument
|
47
59
|
* Fix W1031 detection not to warn when the storage-class-specifier of the
|
48
60
|
object declaration is explicitly specified and the storage-class-specifier of
|
49
61
|
following object definition is omitted
|
@@ -61,10 +73,6 @@
|
|
61
73
|
measurement
|
62
74
|
* Improve value version management of the abstract interpreter
|
63
75
|
|
64
|
-
See the file
|
65
|
-
{ChangeLog}[http://adlint.sourceforge.net/pmwiki/upload.d/Main/ChangeLog]
|
66
|
-
for more details.
|
67
|
-
|
68
76
|
=== \AdLint 1.6.0 is released (2012-04-06)
|
69
77
|
|
70
78
|
==== Changes since the 1.4.0 release
|
data/lib/adlint/c/expr.rb
CHANGED
data/lib/adlint/c/parser.rb
CHANGED
@@ -26,7 +26,7 @@ def initialize(context, lexer)
|
|
26
26
|
@lexer = lexer
|
27
27
|
@symbol_table = context[:symbol_table]
|
28
28
|
@token_array = []
|
29
|
-
@
|
29
|
+
@unnamed_tag_no = 0
|
30
30
|
end
|
31
31
|
|
32
32
|
attr_reader :token_array
|
@@ -71,7 +71,7 @@ def value_of(token)
|
|
71
71
|
end
|
72
72
|
|
73
73
|
def create_unnamed_tag_name(base_token)
|
74
|
-
Token.new(:IDENTIFIER, "__adlint__unnamed_#{@
|
74
|
+
Token.new(:IDENTIFIER, "__adlint__unnamed_#{@unnamed_tag_no += 1}",
|
75
75
|
base_token.location)
|
76
76
|
end
|
77
77
|
|
data/lib/adlint/c/parser.y
CHANGED
@@ -2034,7 +2034,7 @@ def initialize(context, lexer)
|
|
2034
2034
|
@lexer = lexer
|
2035
2035
|
@symbol_table = context[:symbol_table]
|
2036
2036
|
@token_array = []
|
2037
|
-
@
|
2037
|
+
@unnamed_tag_no = 0
|
2038
2038
|
end
|
2039
2039
|
|
2040
2040
|
attr_reader :token_array
|
@@ -2079,7 +2079,7 @@ def value_of(token)
|
|
2079
2079
|
end
|
2080
2080
|
|
2081
2081
|
def create_unnamed_tag_name(base_token)
|
2082
|
-
Token.new(:IDENTIFIER, "__adlint__unnamed_#{@
|
2082
|
+
Token.new(:IDENTIFIER, "__adlint__unnamed_#{@unnamed_tag_no += 1}",
|
2083
2083
|
base_token.location)
|
2084
2084
|
end
|
2085
2085
|
|
data/lib/adlint/version.rb
CHANGED
@@ -3,10 +3,10 @@
|
|
3
3
|
static int foo(const int i)
|
4
4
|
{
|
5
5
|
extern int func_1(const int);
|
6
|
-
return func_3(i + 1) + func_1(i + 1);
|
6
|
+
return func_3(i + 1) + func_1(i + 1); /* ADLINT::[-W0723] */
|
7
7
|
}
|
8
8
|
|
9
9
|
int func_2(const int i)
|
10
10
|
{
|
11
|
-
return foo(i + 1);
|
11
|
+
return foo(i + 1); /* ADLINT::[-W0723] */
|
12
12
|
}
|
@@ -7,15 +7,25 @@ int foo(void)
|
|
7
7
|
|
8
8
|
int bar(const int i) /* no caller of bar() in this project */
|
9
9
|
{
|
10
|
-
|
10
|
+
if (i < 100) {
|
11
|
+
return i + 1;
|
12
|
+
}
|
13
|
+
else {
|
14
|
+
return 0;
|
15
|
+
}
|
11
16
|
}
|
12
17
|
|
13
18
|
int baz(const int i) /* no caller of baz() in this project */
|
14
19
|
{
|
15
|
-
|
20
|
+
if (i < 100) {
|
21
|
+
return i + 2;
|
22
|
+
}
|
23
|
+
else {
|
24
|
+
return 1;
|
25
|
+
}
|
16
26
|
}
|
17
27
|
|
18
28
|
static int qux(void) /* no caller of qux() in this translation unit */
|
19
29
|
{
|
20
|
-
return
|
30
|
+
return 2;
|
21
31
|
}
|
@@ -1,8 +1,8 @@
|
|
1
1
|
<html lang="ja">
|
2
2
|
<head>
|
3
|
-
<title>AdLint 1.8.
|
3
|
+
<title>AdLint 1.8.2 開発者ガイド</title>
|
4
4
|
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
|
5
|
-
<meta name="description" content="AdLint 1.8.
|
5
|
+
<meta name="description" content="AdLint 1.8.2 開発者ガイド">
|
6
6
|
<meta name="generator" content="makeinfo 4.13">
|
7
7
|
<link title="Top" rel="top" href="#Top">
|
8
8
|
<link href="http://www.gnu.org/software/texinfo/" rel="generator-home" title="Texinfo Homepage">
|
@@ -44,7 +44,7 @@ td { border: 1px solid black; }
|
|
44
44
|
--></style>
|
45
45
|
</head>
|
46
46
|
<body>
|
47
|
-
<h1 class="settitle">AdLint 1.8.
|
47
|
+
<h1 class="settitle">AdLint 1.8.2 開発者ガイド</h1>
|
48
48
|
<div class="contents">
|
49
49
|
<h2>Table of Contents</h2>
|
50
50
|
<ul>
|
@@ -1,8 +1,8 @@
|
|
1
1
|
<html lang="en">
|
2
2
|
<head>
|
3
|
-
<title>AdLint 1.8.
|
3
|
+
<title>AdLint 1.8.2 User's Guide</title>
|
4
4
|
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
|
5
|
-
<meta name="description" content="AdLint 1.8.
|
5
|
+
<meta name="description" content="AdLint 1.8.2 User's Guide">
|
6
6
|
<meta name="generator" content="makeinfo 4.13">
|
7
7
|
<link title="Top" rel="top" href="#Top">
|
8
8
|
<link href="http://www.gnu.org/software/texinfo/" rel="generator-home" title="Texinfo Homepage">
|
@@ -44,7 +44,7 @@ td { border: 1px solid black; }
|
|
44
44
|
--></style>
|
45
45
|
</head>
|
46
46
|
<body>
|
47
|
-
<h1 class="settitle">AdLint 1.8.
|
47
|
+
<h1 class="settitle">AdLint 1.8.2 User's Guide</h1>
|
48
48
|
<div class="node">
|
49
49
|
<a name="Top"></a>
|
50
50
|
<p><hr>
|
@@ -1,8 +1,8 @@
|
|
1
1
|
<html lang="ja">
|
2
2
|
<head>
|
3
|
-
<title>AdLint 1.8.
|
3
|
+
<title>AdLint 1.8.2 利用者ガイド</title>
|
4
4
|
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
|
5
|
-
<meta name="description" content="AdLint 1.8.
|
5
|
+
<meta name="description" content="AdLint 1.8.2 利用者ガイド">
|
6
6
|
<meta name="generator" content="makeinfo 4.13">
|
7
7
|
<link title="Top" rel="top" href="#Top">
|
8
8
|
<link href="http://www.gnu.org/software/texinfo/" rel="generator-home" title="Texinfo Homepage">
|
@@ -44,7 +44,7 @@ td { border: 1px solid black; }
|
|
44
44
|
--></style>
|
45
45
|
</head>
|
46
46
|
<body>
|
47
|
-
<h1 class="settitle">AdLint 1.8.
|
47
|
+
<h1 class="settitle">AdLint 1.8.2 利用者ガイド</h1>
|
48
48
|
<div class="node">
|
49
49
|
<a name="Top"></a>
|
50
50
|
<p><hr>
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: adlint
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.8.
|
4
|
+
version: 1.8.2
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -9,7 +9,7 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date: 2012-
|
12
|
+
date: 2012-05-08 00:00:00.000000000 Z
|
13
13
|
dependencies: []
|
14
14
|
description: ! 'AdLint is a source code static analyzer.
|
15
15
|
|