adlint 1.12.0 → 1.14.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -1,8 +1,8 @@
1
1
  <html lang="ja">
2
2
  <head>
3
- <title>AdLint 1.12.0 開発者ガイド</title>
3
+ <title>AdLint 1.14.0 開発者ガイド</title>
4
4
  <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
5
- <meta name="description" content="AdLint 1.12.0 開発者ガイド">
5
+ <meta name="description" content="AdLint 1.14.0 開発者ガイド">
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.12.0 開発者ガイド</h1>
47
+ <h1 class="settitle">AdLint 1.14.0 開発者ガイド</h1>
48
48
  <div class="contents">
49
49
  <h2>Table of Contents</h2>
50
50
  <ul>
@@ -2,7 +2,7 @@
2
2
  @setfilename developers_guide_ja.info
3
3
  @documentlanguage ja
4
4
  @documentencoding utf-8
5
- @settitle AdLint 1.12.0 開発者ガイド
5
+ @settitle AdLint 1.14.0 開発者ガイド
6
6
 
7
7
  @copying
8
8
  Copyright (C) 2010-2012, OGIS-RI Co.,Ltd.
@@ -1,8 +1,8 @@
1
1
  <html lang="en">
2
2
  <head>
3
- <title>AdLint 1.12.0 User's Guide</title>
3
+ <title>AdLint 1.14.0 User's Guide</title>
4
4
  <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
5
- <meta name="description" content="AdLint 1.12.0 User's Guide">
5
+ <meta name="description" content="AdLint 1.14.0 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.12.0 User's Guide</h1>
47
+ <h1 class="settitle">AdLint 1.14.0 User's Guide</h1>
48
48
  <div class="node">
49
49
  <a name="Top"></a>
50
50
  <p><hr>
@@ -30527,17 +30527,18 @@ Up:&nbsp;<a rel="up" accesskey="u" href="#Messages">Messages</a>
30527
30527
 
30528
30528
  <h4 class="subsection">6.527.1 Message body</h4>
30529
30529
 
30530
- <p>'void' type cannot use in the type of formal argument.
30530
+ <p>`void' cannot be used as the parameter type.
30531
30531
 
30532
30532
  <h4 class="subsection">6.527.2 Content</h4>
30533
30533
 
30534
- <p><b>This message will be supported in AdLint 2.0.0</b>
30535
-
30536
- <p>Under construction.
30534
+ <p>Under construction.
30537
30535
 
30538
30536
  <h4 class="subsection">6.527.3 Sample code</h4>
30539
30537
 
30540
- <pre class="verbatim">/* will be added */
30538
+ <pre class="verbatim">extern void func(a) /* W0645 */
30539
+ void a;
30540
+ {
30541
+ }
30541
30542
  </pre>
30542
30543
 
30543
30544
  <h4 class="subsection">6.527.4 Related message</h4>
@@ -30551,7 +30552,7 @@ Up:&nbsp;<a rel="up" accesskey="u" href="#Messages">Messages</a>
30551
30552
 
30552
30553
  <h4 class="subsection">6.527.5 Since</h4>
30553
30554
 
30554
- <p>2.0.0 (planned)
30555
+ <p>1.14.0
30555
30556
 
30556
30557
  <div class="node">
30557
30558
  <a name="W0646"></a>
@@ -33405,9 +33406,7 @@ Up:&nbsp;<a rel="up" accesskey="u" href="#Messages">Messages</a>
33405
33406
 
33406
33407
  <h4 class="subsection">6.575.2 Content</h4>
33407
33408
 
33408
- <p><b>This message will be supported in AdLint 2.0.0</b>
33409
-
33410
- <p>Under construction.
33409
+ <p>Under construction.
33411
33410
 
33412
33411
  <h4 class="subsection">6.575.3 Sample code</h4>
33413
33412
 
@@ -33416,7 +33415,7 @@ Up:&nbsp;<a rel="up" accesskey="u" href="#Messages">Messages</a>
33416
33415
  if (value == 0) {
33417
33416
  return 0;
33418
33417
  }
33419
- // No return statement at the end of the function.
33418
+ /* No return statement at the end of this function. */
33420
33419
  }
33421
33420
  </pre>
33422
33421
 
@@ -33430,7 +33429,7 @@ Up:&nbsp;<a rel="up" accesskey="u" href="#Messages">Messages</a>
33430
33429
 
33431
33430
  <h4 class="subsection">6.575.5 Since</h4>
33432
33431
 
33433
- <p>2.0.0 (planned)
33432
+ <p>1.14.0
33434
33433
 
33435
33434
  <div class="node">
33436
33435
  <a name="W0698"></a>
@@ -33533,13 +33532,13 @@ Up:&nbsp;<a rel="up" accesskey="u" href="#Messages">Messages</a>
33533
33532
 
33534
33533
  <h4 class="subsection">6.578.2 Content</h4>
33535
33534
 
33536
- <p><b>This message will be supported in AdLint 2.0.0</b>
33537
-
33538
- <p>Under construction.
33535
+ <p>Under construction.
33539
33536
 
33540
33537
  <h4 class="subsection">6.578.3 Sample code</h4>
33541
33538
 
33542
- <pre class="verbatim">/* will be added */
33539
+ <pre class="verbatim">extern func(void) /* W0700 */
33540
+ {
33541
+ }
33543
33542
  </pre>
33544
33543
 
33545
33544
  <h4 class="subsection">6.578.4 Related message</h4>
@@ -33552,7 +33551,7 @@ Up:&nbsp;<a rel="up" accesskey="u" href="#Messages">Messages</a>
33552
33551
 
33553
33552
  <h4 class="subsection">6.578.5 Since</h4>
33554
33553
 
33555
- <p>2.0.0 (planned)
33554
+ <p>1.14.0
33556
33555
 
33557
33556
  <div class="node">
33558
33557
  <a name="W0703"></a>
@@ -40390,9 +40389,7 @@ Up:&nbsp;<a rel="up" accesskey="u" href="#Messages">Messages</a>
40390
40389
 
40391
40390
  <h4 class="subsection">6.731.2 Content</h4>
40392
40391
 
40393
- <p><b>This message will be supported in AdLint 2.0.0</b>
40394
-
40395
- <p>Under construction.
40392
+ <p>Under construction.
40396
40393
 
40397
40394
  <h4 class="subsection">6.731.3 Sample code</h4>
40398
40395
 
@@ -40411,7 +40408,7 @@ Up:&nbsp;<a rel="up" accesskey="u" href="#Messages">Messages</a>
40411
40408
 
40412
40409
  <h4 class="subsection">6.731.5 Since</h4>
40413
40410
 
40414
- <p>2.0.0 (planned)
40411
+ <p>1.14.0
40415
40412
 
40416
40413
  <div class="node">
40417
40414
  <a name="W1067"></a>
@@ -40432,9 +40429,7 @@ Up:&nbsp;<a rel="up" accesskey="u" href="#Messages">Messages</a>
40432
40429
 
40433
40430
  <h4 class="subsection">6.732.2 Content</h4>
40434
40431
 
40435
- <p><b>This message will be supported in AdLint 2.0.0</b>
40436
-
40437
- <p>Under construction.
40432
+ <p>Under construction.
40438
40433
 
40439
40434
  <h4 class="subsection">6.732.3 Sample code</h4>
40440
40435
 
@@ -40453,7 +40448,7 @@ Up:&nbsp;<a rel="up" accesskey="u" href="#Messages">Messages</a>
40453
40448
 
40454
40449
  <h4 class="subsection">6.732.5 Since</h4>
40455
40450
 
40456
- <p>2.0.0 (planned)
40451
+ <p>1.14.0
40457
40452
 
40458
40453
  <div class="node">
40459
40454
  <a name="W1068"></a>
@@ -40474,9 +40469,7 @@ Up:&nbsp;<a rel="up" accesskey="u" href="#Messages">Messages</a>
40474
40469
 
40475
40470
  <h4 class="subsection">6.733.2 Content</h4>
40476
40471
 
40477
- <p><b>This message will be supported in AdLint 2.0.0</b>
40478
-
40479
- <p>Under construction.
40472
+ <p>Under construction.
40480
40473
 
40481
40474
  <h4 class="subsection">6.733.3 Sample code</h4>
40482
40475
 
@@ -40495,7 +40488,7 @@ Up:&nbsp;<a rel="up" accesskey="u" href="#Messages">Messages</a>
40495
40488
 
40496
40489
  <h4 class="subsection">6.733.5 Since</h4>
40497
40490
 
40498
- <p>2.0.0 (planned)
40491
+ <p>1.14.0
40499
40492
 
40500
40493
  <div class="node">
40501
40494
  <a name="W1069"></a>
@@ -40516,13 +40509,20 @@ Up:&nbsp;<a rel="up" accesskey="u" href="#Messages">Messages</a>
40516
40509
 
40517
40510
  <h4 class="subsection">6.734.2 Content</h4>
40518
40511
 
40519
- <p><b>This message will be supported in AdLint 2.0.0</b>
40520
-
40521
- <p>Under construction.
40512
+ <p>Under construction.
40522
40513
 
40523
40514
  <h4 class="subsection">6.734.3 Sample code</h4>
40524
40515
 
40525
- <pre class="verbatim">/* will be added */
40516
+ <pre class="verbatim">static int func(int i)
40517
+ {
40518
+ if (i == 2) { /* W1069 */
40519
+ return 0;
40520
+ }
40521
+ else if (i == 4) {
40522
+ return 1;
40523
+ }
40524
+ return 2;
40525
+ }
40526
40526
  </pre>
40527
40527
 
40528
40528
  <h4 class="subsection">6.734.4 Related message</h4>
@@ -40531,7 +40531,7 @@ Up:&nbsp;<a rel="up" accesskey="u" href="#Messages">Messages</a>
40531
40531
 
40532
40532
  <h4 class="subsection">6.734.5 Since</h4>
40533
40533
 
40534
- <p>2.0.0 (planned)
40534
+ <p>1.14.0
40535
40535
 
40536
40536
  <div class="node">
40537
40537
  <a name="W1070"></a>
@@ -40552,9 +40552,7 @@ Up:&nbsp;<a rel="up" accesskey="u" href="#Messages">Messages</a>
40552
40552
 
40553
40553
  <h4 class="subsection">6.735.2 Content</h4>
40554
40554
 
40555
- <p><b>This message will be supported in AdLint 2.0.0</b>
40556
-
40557
- <p>Under construction.
40555
+ <p>Under construction.
40558
40556
 
40559
40557
  <h4 class="subsection">6.735.3 Sample code</h4>
40560
40558
 
@@ -40573,7 +40571,7 @@ default:
40573
40571
 
40574
40572
  <h4 class="subsection">6.735.5 Since</h4>
40575
40573
 
40576
- <p>2.0.0 (planned)
40574
+ <p>1.14.0
40577
40575
 
40578
40576
  <div class="node">
40579
40577
  <a name="W1071"></a>
@@ -40638,13 +40636,24 @@ Up:&nbsp;<a rel="up" accesskey="u" href="#Messages">Messages</a>
40638
40636
 
40639
40637
  <h4 class="subsection">6.737.2 Content</h4>
40640
40638
 
40641
- <p><b>This message will be supported in AdLint 2.0.0</b>
40642
-
40643
- <p>Under construction.
40639
+ <p>Under construction.
40644
40640
 
40645
40641
  <h4 class="subsection">6.737.3 Sample code</h4>
40646
40642
 
40647
- <pre class="verbatim">/* will be added */
40643
+ <pre class="verbatim">static int func(int i)
40644
+ {
40645
+ if (i == 1) {
40646
+ goto Label1; /* W1072 */
40647
+ }
40648
+
40649
+ goto Label2; /* W1072 */
40650
+
40651
+ Label1:
40652
+ i = 10;
40653
+ Label2:
40654
+ i = 20;
40655
+ return i;
40656
+ }
40648
40657
  </pre>
40649
40658
 
40650
40659
  <h4 class="subsection">6.737.4 Related message</h4>
@@ -40653,7 +40662,7 @@ Up:&nbsp;<a rel="up" accesskey="u" href="#Messages">Messages</a>
40653
40662
 
40654
40663
  <h4 class="subsection">6.737.5 Since</h4>
40655
40664
 
40656
- <p>2.0.0 (planned)
40665
+ <p>1.14.0
40657
40666
 
40658
40667
  <div class="node">
40659
40668
  <a name="W1073"></a>
@@ -41704,11 +41713,11 @@ Up:&nbsp;<a rel="up" accesskey="u" href="#Metrics">Metrics</a>
41704
41713
 
41705
41714
  <h4 class="subsection">7.12.1 Metric name</h4>
41706
41715
 
41707
- <p>Number of 'if' statement unless 'else'
41716
+ <p>Number of <code>`if'</code> statement without <code>`else'</code> clause
41708
41717
 
41709
41718
  <h4 class="subsection">7.12.2 Content</h4>
41710
41719
 
41711
- <p>The number of it doesn't have explicit <code>else</code> section in <code>if</code> statements.
41720
+ <p>The number of <code>`if'</code> statements which have no explicit <code>else</code> clause.
41712
41721
 
41713
41722
  <h4 class="subsection">7.12.3 Sample code</h4>
41714
41723
 
@@ -41726,7 +41735,7 @@ Up:&nbsp;<a rel="up" accesskey="u" href="#Metrics">Metrics</a>
41726
41735
  if (j % 2) {
41727
41736
  return -1;
41728
41737
  }
41729
- /* An implicit else clause makes foo's FN_UELS += 1 */
41738
+ /* A standalone if-statement does nothing to the FN_UELS metric */
41730
41739
 
41731
41740
  if (i == 2) {
41732
41741
  return 0;
@@ -41738,11 +41747,11 @@ Up:&nbsp;<a rel="up" accesskey="u" href="#Metrics">Metrics</a>
41738
41747
 
41739
41748
  return 5;
41740
41749
 
41741
- /* foo's FN_UELS == 2 */
41750
+ /* foo's FN_UELS == 1 */
41742
41751
  }
41743
41752
  </pre>
41744
41753
 
41745
- <pre class="example"> MET,FN_UELS,foo,int foo(int),test.c,1,5,2
41754
+ <pre class="example"> MET,FN_UELS,foo,int foo(int),test.c,1,5,1
41746
41755
  </pre>
41747
41756
  <h4 class="subsection">7.12.4 Since</h4>
41748
41757
 
@@ -2,7 +2,7 @@
2
2
  @setfilename users_guide_en.info
3
3
  @documentlanguage en
4
4
  @documentencoding utf-8
5
- @settitle AdLint 1.12.0 User's Guide
5
+ @settitle AdLint 1.14.0 User's Guide
6
6
 
7
7
  @copying
8
8
  Copyright (C) 2010-2012, OGIS-RI Co.,Ltd.
@@ -26345,18 +26345,19 @@ if(func() == 0) { /* W0644 */
26345
26345
 
26346
26346
  @subsection Message body
26347
26347
 
26348
- 'void' type cannot use in the type of formal argument.
26348
+ `void' cannot be used as the parameter type.
26349
26349
 
26350
26350
  @subsection Content
26351
26351
 
26352
- @b{This message will be supported in AdLint 2.0.0}
26353
-
26354
26352
  Under construction.
26355
26353
 
26356
26354
  @subsection Sample code
26357
26355
 
26358
26356
  @verbatim
26359
- /* will be added */
26357
+ extern void func(a) /* W0645 */
26358
+ void a;
26359
+ {
26360
+ }
26360
26361
  @end verbatim
26361
26362
 
26362
26363
  @subsection Related message
@@ -26370,7 +26371,7 @@ Under construction.
26370
26371
 
26371
26372
  @subsection Since
26372
26373
 
26373
- 2.0.0 (planned)
26374
+ 1.14.0
26374
26375
 
26375
26376
  @node W0646
26376
26377
  @section W0646
@@ -28841,8 +28842,6 @@ There is a path with exits with an implicit `return;' statement in a function `%
28841
28842
 
28842
28843
  @subsection Content
28843
28844
 
28844
- @b{This message will be supported in AdLint 2.0.0}
28845
-
28846
28845
  Under construction.
28847
28846
 
28848
28847
  @subsection Sample code
@@ -28853,7 +28852,7 @@ int func(int value) /* W0697 */
28853
28852
  if (value == 0) {
28854
28853
  return 0;
28855
28854
  }
28856
- // No return statement at the end of the function.
28855
+ /* No return statement at the end of this function. */
28857
28856
  }
28858
28857
  @end verbatim
28859
28858
 
@@ -28867,7 +28866,7 @@ int func(int value) /* W0697 */
28867
28866
 
28868
28867
  @subsection Since
28869
28868
 
28870
- 2.0.0 (planned)
28869
+ 1.14.0
28871
28870
 
28872
28871
  @node W0698
28873
28872
  @section W0698
@@ -28945,14 +28944,14 @@ The return value of function `%s()' is unspecified. The return value is implicit
28945
28944
 
28946
28945
  @subsection Content
28947
28946
 
28948
- @b{This message will be supported in AdLint 2.0.0}
28949
-
28950
28947
  Under construction.
28951
28948
 
28952
28949
  @subsection Sample code
28953
28950
 
28954
28951
  @verbatim
28955
- /* will be added */
28952
+ extern func(void) /* W0700 */
28953
+ {
28954
+ }
28956
28955
  @end verbatim
28957
28956
 
28958
28957
  @subsection Related message
@@ -28966,7 +28965,7 @@ Under construction.
28966
28965
 
28967
28966
  @subsection Since
28968
28967
 
28969
- 2.0.0 (planned)
28968
+ 1.14.0
28970
28969
 
28971
28970
  @node W0703
28972
28971
  @section W0703
@@ -34589,8 +34588,6 @@ A value of the `float' typed compound expression is explicitly converted into a
34589
34588
 
34590
34589
  @subsection Content
34591
34590
 
34592
- @b{This message will be supported in AdLint 2.0.0}
34593
-
34594
34591
  Under construction.
34595
34592
 
34596
34593
  @subsection Sample code
@@ -34611,7 +34608,7 @@ void func(float a)
34611
34608
 
34612
34609
  @subsection Since
34613
34610
 
34614
- 2.0.0 (planned)
34611
+ 1.14.0
34615
34612
 
34616
34613
  @node W1067
34617
34614
  @section W1067
@@ -34623,8 +34620,6 @@ A value of the `float' typed compound expression is explicitly converted into a
34623
34620
 
34624
34621
  @subsection Content
34625
34622
 
34626
- @b{This message will be supported in AdLint 2.0.0}
34627
-
34628
34623
  Under construction.
34629
34624
 
34630
34625
  @subsection Sample code
@@ -34645,7 +34640,7 @@ void func(float a)
34645
34640
 
34646
34641
  @subsection Since
34647
34642
 
34648
- 2.0.0 (planned)
34643
+ 1.14.0
34649
34644
 
34650
34645
  @node W1068
34651
34646
  @section W1068
@@ -34657,8 +34652,6 @@ A value of the `double' typed compound expression is explicitly converted into a
34657
34652
 
34658
34653
  @subsection Content
34659
34654
 
34660
- @b{This message will be supported in AdLint 2.0.0}
34661
-
34662
34655
  Under construction.
34663
34656
 
34664
34657
  @subsection Sample code
@@ -34679,7 +34672,7 @@ void func(double a)
34679
34672
 
34680
34673
  @subsection Since
34681
34674
 
34682
- 2.0.0 (planned)
34675
+ 1.14.0
34683
34676
 
34684
34677
  @node W1069
34685
34678
  @section W1069
@@ -34691,14 +34684,21 @@ No trailing `else' clause is found in this `if-else-if' statements chain.
34691
34684
 
34692
34685
  @subsection Content
34693
34686
 
34694
- @b{This message will be supported in AdLint 2.0.0}
34695
-
34696
34687
  Under construction.
34697
34688
 
34698
34689
  @subsection Sample code
34699
34690
 
34700
34691
  @verbatim
34701
- /* will be added */
34692
+ static int func(int i)
34693
+ {
34694
+ if (i == 2) { /* W1069 */
34695
+ return 0;
34696
+ }
34697
+ else if (i == 4) {
34698
+ return 1;
34699
+ }
34700
+ return 2;
34701
+ }
34702
34702
  @end verbatim
34703
34703
 
34704
34704
  @subsection Related message
@@ -34707,7 +34707,7 @@ None.
34707
34707
 
34708
34708
  @subsection Since
34709
34709
 
34710
- 2.0.0 (planned)
34710
+ 1.14.0
34711
34711
 
34712
34712
  @node W1070
34713
34713
  @section W1070
@@ -34719,8 +34719,6 @@ This `switch' statement can be translated into `if-else' statement because there
34719
34719
 
34720
34720
  @subsection Content
34721
34721
 
34722
- @b{This message will be supported in AdLint 2.0.0}
34723
-
34724
34722
  Under construction.
34725
34723
 
34726
34724
  @subsection Sample code
@@ -34741,7 +34739,7 @@ None.
34741
34739
 
34742
34740
  @subsection Since
34743
34741
 
34744
- 2.0.0 (planned)
34742
+ 1.14.0
34745
34743
 
34746
34744
  @node W1071
34747
34745
  @section W1071
@@ -34789,14 +34787,25 @@ None.
34789
34787
 
34790
34788
  @subsection Content
34791
34789
 
34792
- @b{This message will be supported in AdLint 2.0.0}
34793
-
34794
34790
  Under construction.
34795
34791
 
34796
34792
  @subsection Sample code
34797
34793
 
34798
34794
  @verbatim
34799
- /* will be added */
34795
+ static int func(int i)
34796
+ {
34797
+ if (i == 1) {
34798
+ goto Label1; /* W1072 */
34799
+ }
34800
+
34801
+ goto Label2; /* W1072 */
34802
+
34803
+ Label1:
34804
+ i = 10;
34805
+ Label2:
34806
+ i = 20;
34807
+ return i;
34808
+ }
34800
34809
  @end verbatim
34801
34810
 
34802
34811
  @subsection Related message
@@ -34805,7 +34814,7 @@ None.
34805
34814
 
34806
34815
  @subsection Since
34807
34816
 
34808
- 2.0.0 (planned)
34817
+ 1.14.0
34809
34818
 
34810
34819
  @node W1073
34811
34820
  @section W1073
@@ -35682,12 +35691,11 @@ MET,FN_RETN,bar,int bar(int),test.c,20,5,3
35682
35691
  @cindex FN_UELS
35683
35692
 
35684
35693
  @subsection Metric name
35685
- Number of 'if' statement unless 'else'
35694
+ Number of @code{`if'} statement without @code{`else'} clause
35686
35695
 
35687
35696
  @subsection Content
35688
35697
 
35689
- The number of it doesn't have explicit @code{else} section in @code{if} statements.
35690
-
35698
+ The number of @code{`if'} statements which have no explicit @code{else} clause.
35691
35699
 
35692
35700
  @subsection Sample code
35693
35701
 
@@ -35706,7 +35714,7 @@ int foo(int i)
35706
35714
  if (j % 2) {
35707
35715
  return -1;
35708
35716
  }
35709
- /* An implicit else clause makes foo's FN_UELS += 1 */
35717
+ /* A standalone if-statement does nothing to the FN_UELS metric */
35710
35718
 
35711
35719
  if (i == 2) {
35712
35720
  return 0;
@@ -35718,12 +35726,12 @@ int foo(int i)
35718
35726
 
35719
35727
  return 5;
35720
35728
 
35721
- /* foo's FN_UELS == 2 */
35729
+ /* foo's FN_UELS == 1 */
35722
35730
  }
35723
35731
  @end verbatim
35724
35732
 
35725
35733
  @example
35726
- MET,FN_UELS,foo,int foo(int),test.c,1,5,2
35734
+ MET,FN_UELS,foo,int foo(int),test.c,1,5,1
35727
35735
  @end example
35728
35736
 
35729
35737
  @subsection Since