adlint 1.16.0 → 1.18.0
Sign up to get free protection for your applications and to get access to all the features.
- data/ChangeLog +471 -0
- data/MANIFEST +35 -8
- data/NEWS +50 -4
- data/bin/adlint +7 -7
- data/bin/adlint_chk +7 -7
- data/bin/adlint_cma +7 -7
- data/bin/adlint_sma +7 -7
- data/bin/adlintize +5 -5
- data/etc/mesg.d/en_US/messages.yml +3 -3
- data/etc/mesg.d/ja_JP/messages.yml +3 -3
- data/features/message_detection/E0013.feature +34 -0
- data/features/message_detection/W0007.feature +2 -0
- data/features/message_detection/W0583.feature +1 -2
- data/features/message_detection/W0641.feature +132 -0
- data/features/message_detection/W0643.feature +1 -1
- data/features/message_detection/W0644.feature +529 -0
- data/features/message_detection/W0645.feature +1 -1
- data/features/message_detection/W0649.feature +277 -0
- data/features/message_detection/W0650.feature +208 -0
- data/features/message_detection/W0697.feature +6 -0
- data/features/message_detection/W0705.feature +350 -0
- data/features/message_detection/W0707.feature +223 -0
- data/features/message_detection/W0711.feature +113 -0
- data/features/message_detection/W0712.feature +113 -0
- data/features/message_detection/W0713.feature +110 -0
- data/features/message_detection/W0714.feature +118 -0
- data/features/message_detection/W0715.feature +118 -0
- data/features/message_detection/W0716.feature +1 -0
- data/features/message_detection/W0717.feature +1 -0
- data/features/message_detection/W0718.feature +1 -0
- data/features/message_detection/W0719.feature +154 -0
- data/features/message_detection/W0723.feature +1 -2
- data/features/message_detection/W0732.feature +3 -0
- data/features/message_detection/W0733.feature +3 -0
- data/features/message_detection/W0734.feature +4 -0
- data/features/message_detection/W0735.feature +4 -0
- data/features/message_detection/W0745.feature +132 -0
- data/features/message_detection/W0780.feature +68 -0
- data/features/message_detection/W0783.feature +95 -0
- data/features/message_detection/W0792.feature +124 -0
- data/features/message_detection/W0793.feature +153 -0
- data/features/message_detection/W0794.feature +90 -0
- data/features/message_detection/W0830.feature +65 -0
- data/features/message_detection/W0833.feature +220 -0
- data/features/message_detection/W0834.feature +189 -0
- data/features/message_detection/W1026.feature +105 -0
- data/features/message_detection/W1031.feature +17 -34
- data/features/message_detection/W1039.feature +268 -0
- data/features/message_detection/W1047.feature +163 -0
- data/features/message_detection/W1066.feature +1 -0
- data/features/message_detection/W1067.feature +1 -0
- data/features/message_detection/W1068.feature +1 -0
- data/features/message_detection/W1069.feature +5 -0
- data/features/message_detection/W1070.feature +5 -0
- data/features/message_detection/W1071.feature +83 -0
- data/features/message_detection/W1073.feature +3 -2
- data/features/message_detection/W9003.feature +7 -12
- data/features/step_definitions/message_detection_steps.rb +4 -31
- data/features/support/env.rb +117 -2
- data/lib/adlint/c/branch.rb +0 -2
- data/lib/adlint/c/ctrlexpr.rb +33 -0
- data/lib/adlint/c/expr.rb +119 -31
- data/lib/adlint/c/interp.rb +44 -3
- data/lib/adlint/c/message.rb +1411 -29
- data/lib/adlint/c/object.rb +16 -2
- data/lib/adlint/c/option.rb +1 -0
- data/lib/adlint/c/parser.rb +101 -100
- data/lib/adlint/c/parser.y +3 -2
- data/lib/adlint/c/phase.rb +18 -0
- data/lib/adlint/c/resolver.rb +23 -0
- data/lib/adlint/c/syntax.rb +90 -4
- data/lib/adlint/c/type.rb +177 -110
- data/lib/adlint/cpp/macro.rb +4 -4
- data/lib/adlint/version.rb +2 -2
- data/share/demo/bad_include/test/"1/".h +0 -0
- 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 +467 -506
- data/share/doc/users_guide_en.texi +95 -125
- data/share/doc/users_guide_ja.html +471 -518
- data/share/doc/users_guide_ja.texi +95 -133
- data/spec/spec_helper.rb +6 -0
- metadata +37 -10
@@ -2,7 +2,7 @@
|
|
2
2
|
@setfilename users_guide_en.info
|
3
3
|
@documentlanguage en
|
4
4
|
@documentencoding utf-8
|
5
|
-
@settitle AdLint 1.
|
5
|
+
@settitle AdLint 1.18.0 User's Guide
|
6
6
|
|
7
7
|
@copying
|
8
8
|
Copyright (C) 2010-2012, OGIS-RI Co.,Ltd.
|
@@ -2791,12 +2791,11 @@ context_line
|
|
2791
2791
|
* W1035::`%s' declared typedef. It cannot be redeclared inside an inner scope without using explicit type.
|
2792
2792
|
* W1036::`%s' declared typedef. It cannot be redeclared as a member of structure or union without using explicit type.
|
2793
2793
|
* W1037::`%s' which has external coupling is declared more than one, this is incompatible.
|
2794
|
-
* W1039::`ll' is used in conversion specifier.
|
2794
|
+
* W1039::`ll' is used in %sth conversion specifier.
|
2795
2795
|
* W1040::An unrecognizable string is described after preprocessing directive.
|
2796
2796
|
* W1041::`%s' is not official preprocessing directive of ISO C standards.
|
2797
2797
|
* W1042::'sizeof' operator is using in preprocessing directive. This is the language extension.
|
2798
2798
|
* W1043::`@@ address' is not supported ISO C standards. It will be considered as language extension.
|
2799
|
-
* W1044::An expression which includes the statement is not supported ISO C standards. It will be considered as language extension.
|
2800
2799
|
* W1045::This `@@ word' syntax will be ignored.
|
2801
2800
|
* W1046::A space character is ignored between `\' and line feed.
|
2802
2801
|
* W1047::The struct, union or array's initializer is not literal.
|
@@ -26214,14 +26213,15 @@ Floating-point number type cast to pointer to object and vice versa.
|
|
26214
26213
|
|
26215
26214
|
@subsection Content
|
26216
26215
|
|
26217
|
-
@b{This message will be supported in AdLint 2.0.0}
|
26218
|
-
|
26219
26216
|
Under construction.
|
26220
26217
|
|
26221
26218
|
@subsection Sample code
|
26222
26219
|
|
26223
26220
|
@verbatim
|
26224
|
-
|
26221
|
+
int *foo(const float f)
|
26222
|
+
{
|
26223
|
+
return (int *) f; /* W0641 */
|
26224
|
+
}
|
26225
26225
|
@end verbatim
|
26226
26226
|
|
26227
26227
|
@subsection Related message
|
@@ -26230,7 +26230,7 @@ None.
|
|
26230
26230
|
|
26231
26231
|
@subsection Since
|
26232
26232
|
|
26233
|
-
|
26233
|
+
1.18.0
|
26234
26234
|
|
26235
26235
|
@node W0642
|
26236
26236
|
@section W0642
|
@@ -26311,17 +26311,16 @@ A value in void statement is going to use. 'void' statement doesn't have a value
|
|
26311
26311
|
|
26312
26312
|
@subsection Content
|
26313
26313
|
|
26314
|
-
@b{This message will be supported in AdLint 2.0.0}
|
26315
|
-
|
26316
26314
|
Under construction.
|
26317
26315
|
|
26318
26316
|
@subsection Sample code
|
26319
26317
|
|
26320
26318
|
@verbatim
|
26321
|
-
extern void
|
26319
|
+
extern void foo(void);
|
26322
26320
|
|
26323
|
-
|
26324
|
-
|
26321
|
+
int bar(void)
|
26322
|
+
{
|
26323
|
+
return (int) foo(); /* W0644 */
|
26325
26324
|
}
|
26326
26325
|
@end verbatim
|
26327
26326
|
|
@@ -26336,7 +26335,7 @@ if(func() == 0) { /* W0644 */
|
|
26336
26335
|
|
26337
26336
|
@subsection Since
|
26338
26337
|
|
26339
|
-
|
26338
|
+
1.18.0
|
26340
26339
|
|
26341
26340
|
@node W0645
|
26342
26341
|
@section W0645
|
@@ -26413,15 +26412,15 @@ A right operand value of shift operand is negative constant value. This result i
|
|
26413
26412
|
|
26414
26413
|
@subsection Content
|
26415
26414
|
|
26416
|
-
@b{This message will be supported in AdLint 2.0.0}
|
26417
|
-
|
26418
26415
|
Under construction.
|
26419
26416
|
|
26420
26417
|
@subsection Sample code
|
26421
26418
|
|
26422
26419
|
@verbatim
|
26423
|
-
|
26424
|
-
|
26420
|
+
int foo(int i)
|
26421
|
+
{
|
26422
|
+
return i << -1; /* W0649 */
|
26423
|
+
}
|
26425
26424
|
@end verbatim
|
26426
26425
|
|
26427
26426
|
@subsection Related message
|
@@ -26432,7 +26431,7 @@ a <<= -4; /* W0649 */
|
|
26432
26431
|
|
26433
26432
|
@subsection Since
|
26434
26433
|
|
26435
|
-
|
26434
|
+
1.18.0
|
26436
26435
|
|
26437
26436
|
@node W0650
|
26438
26437
|
@section W0650
|
@@ -26444,15 +26443,15 @@ A right operand value of shift operator is much bigger than the bit size represe
|
|
26444
26443
|
|
26445
26444
|
@subsection Content
|
26446
26445
|
|
26447
|
-
@b{This message will be supported in AdLint 2.0.0}
|
26448
|
-
|
26449
26446
|
Under construction.
|
26450
26447
|
|
26451
26448
|
@subsection Sample code
|
26452
26449
|
|
26453
26450
|
@verbatim
|
26454
|
-
|
26455
|
-
|
26451
|
+
unsigned int foo(unsigned int i)
|
26452
|
+
{
|
26453
|
+
return i << 32; /* W0650 */
|
26454
|
+
}
|
26456
26455
|
@end verbatim
|
26457
26456
|
|
26458
26457
|
@subsection Related message
|
@@ -26463,7 +26462,7 @@ a = b << 16; /* W0650 */
|
|
26463
26462
|
|
26464
26463
|
@subsection Since
|
26465
26464
|
|
26466
|
-
|
26465
|
+
1.18.0
|
26467
26466
|
|
26468
26467
|
@node W0653
|
26469
26468
|
@section W0653
|
@@ -29085,16 +29084,18 @@ An array's index is out of range.
|
|
29085
29084
|
|
29086
29085
|
@subsection Content
|
29087
29086
|
|
29088
|
-
@b{This message will be supported in AdLint 2.0.0}
|
29089
|
-
|
29090
29087
|
Under construction.
|
29091
29088
|
|
29092
29089
|
@subsection Sample code
|
29093
29090
|
|
29094
29091
|
@verbatim
|
29095
|
-
int
|
29092
|
+
extern int a[5];
|
29096
29093
|
|
29097
|
-
|
29094
|
+
int foo(void)
|
29095
|
+
{
|
29096
|
+
int i = a[5]; /* W0707 */
|
29097
|
+
return i;
|
29098
|
+
}
|
29098
29099
|
@end verbatim
|
29099
29100
|
|
29100
29101
|
@subsection Related message
|
@@ -29103,7 +29104,7 @@ None.
|
|
29103
29104
|
|
29104
29105
|
@subsection Since
|
29105
29106
|
|
29106
|
-
|
29107
|
+
1.18.0
|
29107
29108
|
|
29108
29109
|
@node W0708
|
29109
29110
|
@section W0708
|
@@ -29412,15 +29413,15 @@ A right operand of shift operator is a constant value of the above bit field of
|
|
29412
29413
|
|
29413
29414
|
@subsection Content
|
29414
29415
|
|
29415
|
-
@b{This message will be supported in AdLint 2.0.0}
|
29416
|
-
|
29417
29416
|
Under construction.
|
29418
29417
|
|
29419
29418
|
@subsection Sample code
|
29420
29419
|
|
29421
29420
|
@verbatim
|
29422
|
-
|
29423
|
-
|
29421
|
+
int foo(char c)
|
29422
|
+
{
|
29423
|
+
return c << 31; /* W0719 */
|
29424
|
+
}
|
29424
29425
|
@end verbatim
|
29425
29426
|
|
29426
29427
|
@subsection Related message
|
@@ -29429,7 +29430,7 @@ None.
|
|
29429
29430
|
|
29430
29431
|
@subsection Since
|
29431
29432
|
|
29432
|
-
|
29433
|
+
1.18.0
|
29433
29434
|
|
29434
29435
|
@node W0720
|
29435
29436
|
@section W0720
|
@@ -31733,14 +31734,15 @@ Unsigned left shift operator `<<' in constant expression truncate non-zero high-
|
|
31733
31734
|
|
31734
31735
|
@subsection Content
|
31735
31736
|
|
31736
|
-
@b{This message will be supported in AdLint 2.0.0}
|
31737
|
-
|
31738
31737
|
Under construction.
|
31739
31738
|
|
31740
31739
|
@subsection Sample code
|
31741
31740
|
|
31742
31741
|
@verbatim
|
31743
|
-
unsigned int
|
31742
|
+
unsigned int foo(void)
|
31743
|
+
{
|
31744
|
+
return 0x08000000U << 5; /* W0780 */
|
31745
|
+
}
|
31744
31746
|
@end verbatim
|
31745
31747
|
|
31746
31748
|
@subsection Related message
|
@@ -31749,7 +31751,7 @@ None.
|
|
31749
31751
|
|
31750
31752
|
@subsection Since
|
31751
31753
|
|
31752
|
-
|
31754
|
+
1.18.0
|
31753
31755
|
|
31754
31756
|
@node W0781
|
31755
31757
|
@section W0781
|
@@ -31811,14 +31813,17 @@ Cast is being made including the pointer point to incomplete type. This program
|
|
31811
31813
|
|
31812
31814
|
@subsection Content
|
31813
31815
|
|
31814
|
-
@b{This message will be supported in AdLint 2.0.0}
|
31815
|
-
|
31816
31816
|
Under construction.
|
31817
31817
|
|
31818
31818
|
@subsection Sample code
|
31819
31819
|
|
31820
31820
|
@verbatim
|
31821
|
-
|
31821
|
+
extern struct Foo *gp;
|
31822
|
+
|
31823
|
+
void foo(int *p)
|
31824
|
+
{
|
31825
|
+
gp = (struct Foo *) p; /* W0783 */
|
31826
|
+
}
|
31822
31827
|
@end verbatim
|
31823
31828
|
|
31824
31829
|
@subsection Related message
|
@@ -31827,7 +31832,7 @@ None.
|
|
31827
31832
|
|
31828
31833
|
@subsection Since
|
31829
31834
|
|
31830
|
-
|
31835
|
+
1.18.0
|
31831
31836
|
|
31832
31837
|
@node W0784
|
31833
31838
|
@section W0784
|
@@ -32123,14 +32128,15 @@ A floating point type object cast to function pointer and vice versa.
|
|
32123
32128
|
|
32124
32129
|
@subsection Content
|
32125
32130
|
|
32126
|
-
@b{This message will be supported in AdLint 2.0.0}
|
32127
|
-
|
32128
32131
|
Under construction.
|
32129
32132
|
|
32130
32133
|
@subsection Sample code
|
32131
32134
|
|
32132
32135
|
@verbatim
|
32133
|
-
|
32136
|
+
int (*foo(const float f))(void)
|
32137
|
+
{
|
32138
|
+
return (int (*)(void)) f; /* W0792 */
|
32139
|
+
}
|
32134
32140
|
@end verbatim
|
32135
32141
|
|
32136
32142
|
@subsection Related message
|
@@ -32139,7 +32145,7 @@ None.
|
|
32139
32145
|
|
32140
32146
|
@subsection Since
|
32141
32147
|
|
32142
|
-
|
32148
|
+
1.18.0
|
32143
32149
|
|
32144
32150
|
@node W0793
|
32145
32151
|
@section W0793
|
@@ -32151,14 +32157,17 @@ A function pointer cast to pointer to point an object and vice versa.
|
|
32151
32157
|
|
32152
32158
|
@subsection Content
|
32153
32159
|
|
32154
|
-
@b{This message will be supported in AdLint 2.0.0}
|
32155
|
-
|
32156
32160
|
Under construction.
|
32157
32161
|
|
32158
32162
|
@subsection Sample code
|
32159
32163
|
|
32160
32164
|
@verbatim
|
32161
|
-
|
32165
|
+
typedef int (*funptr_t)(void);
|
32166
|
+
|
32167
|
+
funptr_t foo(float *p)
|
32168
|
+
{
|
32169
|
+
return (funptr_t) p; /* W0793 */
|
32170
|
+
}
|
32162
32171
|
@end verbatim
|
32163
32172
|
|
32164
32173
|
@subsection Related message
|
@@ -32167,7 +32176,7 @@ None.
|
|
32167
32176
|
|
32168
32177
|
@subsection Since
|
32169
32178
|
|
32170
|
-
|
32179
|
+
1.18.0
|
32171
32180
|
|
32172
32181
|
@node W0794
|
32173
32182
|
@section W0794
|
@@ -32179,15 +32188,15 @@ Left shift operation to signed operand.
|
|
32179
32188
|
|
32180
32189
|
@subsection Content
|
32181
32190
|
|
32182
|
-
@b{This message will be supported in AdLint 2.0.0}
|
32183
|
-
|
32184
32191
|
Under construction.
|
32185
32192
|
|
32186
32193
|
@subsection Sample code
|
32187
32194
|
|
32188
32195
|
@verbatim
|
32189
|
-
int
|
32190
|
-
|
32196
|
+
int func(int i)
|
32197
|
+
{
|
32198
|
+
return i << 1; /* W0794 */
|
32199
|
+
}
|
32191
32200
|
@end verbatim
|
32192
32201
|
|
32193
32202
|
@subsection Related message
|
@@ -32196,7 +32205,7 @@ None.
|
|
32196
32205
|
|
32197
32206
|
@subsection Since
|
32198
32207
|
|
32199
|
-
|
32208
|
+
1.18.0
|
32200
32209
|
|
32201
32210
|
@node W0795
|
32202
32211
|
@section W0795
|
@@ -32827,18 +32836,12 @@ There is comma `,' at the end of the enumerator list.
|
|
32827
32836
|
|
32828
32837
|
@subsection Content
|
32829
32838
|
|
32830
|
-
@b{This message will be supported in AdLint 2.0.0}
|
32831
|
-
|
32832
32839
|
Under construction.
|
32833
32840
|
|
32834
32841
|
@subsection Sample code
|
32835
32842
|
|
32836
32843
|
@verbatim
|
32837
|
-
enum
|
32838
|
-
RED,
|
32839
|
-
BLUE,
|
32840
|
-
GREEN, /* W0830 */
|
32841
|
-
};
|
32844
|
+
enum Color { Red, Green, Blue, }; /* W0830 */
|
32842
32845
|
@end verbatim
|
32843
32846
|
|
32844
32847
|
@subsection Related message
|
@@ -32847,7 +32850,7 @@ None.
|
|
32847
32850
|
|
32848
32851
|
@subsection Since
|
32849
32852
|
|
32850
|
-
|
32853
|
+
1.18.0
|
32851
32854
|
|
32852
32855
|
@node W0831
|
32853
32856
|
@section W0831
|
@@ -32936,14 +32939,12 @@ A suffix 'LL' is using.
|
|
32936
32939
|
|
32937
32940
|
@subsection Content
|
32938
32941
|
|
32939
|
-
@b{This message will be supported in AdLint 2.0.0}
|
32940
|
-
|
32941
32942
|
Under construction.
|
32942
32943
|
|
32943
32944
|
@subsection Sample code
|
32944
32945
|
|
32945
32946
|
@verbatim
|
32946
|
-
long long
|
32947
|
+
long long ll = 123LL; /* W0833 */
|
32947
32948
|
@end verbatim
|
32948
32949
|
|
32949
32950
|
@subsection Related message
|
@@ -32954,7 +32955,7 @@ long long int a = 0LL; /* W0833 */
|
|
32954
32955
|
|
32955
32956
|
@subsection Since
|
32956
32957
|
|
32957
|
-
|
32958
|
+
1.18.0
|
32958
32959
|
|
32959
32960
|
@node W0834
|
32960
32961
|
@section W0834
|
@@ -32966,14 +32967,12 @@ A long long type is using.
|
|
32966
32967
|
|
32967
32968
|
@subsection Content
|
32968
32969
|
|
32969
|
-
@b{This message will be supported in AdLint 2.0.0}
|
32970
|
-
|
32971
32970
|
Under construction.
|
32972
32971
|
|
32973
32972
|
@subsection Sample code
|
32974
32973
|
|
32975
32974
|
@verbatim
|
32976
|
-
long long
|
32975
|
+
extern long long ll; /* W0834 */
|
32977
32976
|
@end verbatim
|
32978
32977
|
|
32979
32978
|
@subsection Related message
|
@@ -32984,7 +32983,7 @@ long long a = 0; /* W0834 */
|
|
32984
32983
|
|
32985
32984
|
@subsection Since
|
32986
32985
|
|
32987
|
-
|
32986
|
+
1.18.0
|
32988
32987
|
|
32989
32988
|
@node W0835
|
32990
32989
|
@section W0835
|
@@ -33148,14 +33147,18 @@ int a[10]; /* W0950 */
|
|
33148
33147
|
|
33149
33148
|
@subsection Content
|
33150
33149
|
|
33151
|
-
@b{This message will be supported in AdLint 2.0.0}
|
33152
|
-
|
33153
33150
|
Under construction.
|
33154
33151
|
|
33155
33152
|
@subsection Sample code
|
33156
33153
|
|
33157
33154
|
@verbatim
|
33158
|
-
|
33155
|
+
extern struct st s;
|
33156
|
+
extern void foo(struct st);
|
33157
|
+
|
33158
|
+
void bar(void)
|
33159
|
+
{
|
33160
|
+
foo(s); /* W1026 */
|
33161
|
+
}
|
33159
33162
|
@end verbatim
|
33160
33163
|
|
33161
33164
|
@subsection Related message
|
@@ -33164,7 +33167,7 @@ None.
|
|
33164
33167
|
|
33165
33168
|
@subsection Since
|
33166
33169
|
|
33167
|
-
|
33170
|
+
1.18.0
|
33168
33171
|
|
33169
33172
|
@node W1027
|
33170
33173
|
@section W1027
|
@@ -33523,18 +33526,21 @@ None.
|
|
33523
33526
|
|
33524
33527
|
@subsection Message body
|
33525
33528
|
|
33526
|
-
`ll' is used in conversion specifier.
|
33529
|
+
`ll' is used in %sth conversion specifier.
|
33527
33530
|
|
33528
33531
|
@subsection Content
|
33529
33532
|
|
33530
|
-
@b{This message will be supported in AdLint 2.0.0}
|
33531
|
-
|
33532
33533
|
Under construction.
|
33533
33534
|
|
33534
33535
|
@subsection Sample code
|
33535
33536
|
|
33536
33537
|
@verbatim
|
33537
|
-
|
33538
|
+
extern int printf(const char *, ...);
|
33539
|
+
|
33540
|
+
void foo(long long ll)
|
33541
|
+
{
|
33542
|
+
printf("%lld", ll); /* W1039 */
|
33543
|
+
}
|
33538
33544
|
@end verbatim
|
33539
33545
|
|
33540
33546
|
@subsection Related message
|
@@ -33543,7 +33549,7 @@ None.
|
|
33543
33549
|
|
33544
33550
|
@subsection Since
|
33545
33551
|
|
33546
|
-
|
33552
|
+
1.18.0
|
33547
33553
|
|
33548
33554
|
@node W1040
|
33549
33555
|
@section W1040
|
@@ -33667,7 +33673,6 @@ Under construction.
|
|
33667
33673
|
@subsection Related message
|
33668
33674
|
|
33669
33675
|
@itemize
|
33670
|
-
@item @ref{W1044} An expression which includes the statement is not supported ISO C standards. It will be considered as language extension.
|
33671
33676
|
@item @ref{W1045} This `@@ word' syntax will be ignored.
|
33672
33677
|
@end itemize
|
33673
33678
|
|
@@ -33675,37 +33680,6 @@ Under construction.
|
|
33675
33680
|
|
33676
33681
|
After 2.0.0 (planned)
|
33677
33682
|
|
33678
|
-
@node W1044
|
33679
|
-
@section W1044
|
33680
|
-
@cindex W1044
|
33681
|
-
|
33682
|
-
@subsection Message body
|
33683
|
-
|
33684
|
-
An expression which includes the statement is not supported ISO C standards. It will be considered as language extension.
|
33685
|
-
|
33686
|
-
@subsection Content
|
33687
|
-
|
33688
|
-
@b{This message will be supported in AdLint 2.0.0}
|
33689
|
-
|
33690
|
-
Under construction.
|
33691
|
-
|
33692
|
-
@subsection Sample code
|
33693
|
-
|
33694
|
-
@verbatim
|
33695
|
-
/* will be added */
|
33696
|
-
@end verbatim
|
33697
|
-
|
33698
|
-
@subsection Related message
|
33699
|
-
|
33700
|
-
@itemize
|
33701
|
-
@item @ref{W1043} `@@ address' is not supported ISO C standards. It will be considered as language extension.
|
33702
|
-
@item @ref{W1045} This `@@ word' syntax will be ignored.
|
33703
|
-
@end itemize
|
33704
|
-
|
33705
|
-
@subsection Since
|
33706
|
-
|
33707
|
-
2.0.0 (planned)
|
33708
|
-
|
33709
33683
|
@node W1045
|
33710
33684
|
@section W1045
|
33711
33685
|
@cindex W1045
|
@@ -33730,7 +33704,6 @@ Under construction.
|
|
33730
33704
|
|
33731
33705
|
@itemize
|
33732
33706
|
@item @ref{W1043} `@@ address' is not supported ISO C standards. It will be considered as language extension.
|
33733
|
-
@item @ref{W1044} An expression which includes the statement is not supported ISO C standards. It will be considered as language extension.
|
33734
33707
|
@end itemize
|
33735
33708
|
|
33736
33709
|
@subsection Since
|
@@ -33776,14 +33749,16 @@ The struct, union or array's initializer is not literal.
|
|
33776
33749
|
|
33777
33750
|
@subsection Content
|
33778
33751
|
|
33779
|
-
@b{This message will be supported in AdLint 2.0.0}
|
33780
|
-
|
33781
33752
|
Under construction.
|
33782
33753
|
|
33783
33754
|
@subsection Sample code
|
33784
33755
|
|
33785
33756
|
@verbatim
|
33786
|
-
|
33757
|
+
int foo(int i, int j)
|
33758
|
+
{
|
33759
|
+
int a[] = { 0, i, j }; /* W1047 */
|
33760
|
+
return a[1];
|
33761
|
+
}
|
33787
33762
|
@end verbatim
|
33788
33763
|
|
33789
33764
|
@subsection Related message
|
@@ -33792,7 +33767,7 @@ None.
|
|
33792
33767
|
|
33793
33768
|
@subsection Since
|
33794
33769
|
|
33795
|
-
|
33770
|
+
1.18.0
|
33796
33771
|
|
33797
33772
|
@node W1048
|
33798
33773
|
@section W1048
|
@@ -34761,20 +34736,15 @@ Function `%s' has multiple termination points.
|
|
34761
34736
|
|
34762
34737
|
@subsection Content
|
34763
34738
|
|
34764
|
-
@b{This message will be supported in AdLint 2.0.0}
|
34765
|
-
|
34766
34739
|
Under construction.
|
34767
34740
|
|
34768
34741
|
@subsection Sample code
|
34769
34742
|
|
34770
34743
|
@verbatim
|
34771
|
-
|
34744
|
+
void foo(int i) /* W1071 */
|
34772
34745
|
{
|
34773
|
-
if(
|
34774
|
-
return
|
34775
|
-
}
|
34776
|
-
else {
|
34777
|
-
return 1; /* W1071 */
|
34746
|
+
if (i == 0) {
|
34747
|
+
return;
|
34778
34748
|
}
|
34779
34749
|
}
|
34780
34750
|
@end verbatim
|
@@ -34785,7 +34755,7 @@ None.
|
|
34785
34755
|
|
34786
34756
|
@subsection Since
|
34787
34757
|
|
34788
|
-
|
34758
|
+
1.18.0
|
34789
34759
|
|
34790
34760
|
@node W1072
|
34791
34761
|
@section W1072
|