adlint 1.16.0 → 1.18.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.
- 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
|