adlint 1.4.0 → 1.6.0
Sign up to get free protection for your applications and to get access to all the features.
- data/ChangeLog +413 -5
- data/MANIFEST +6 -0
- data/NEWS +43 -4
- data/etc/mesg.d/en_US/messages.yml +1 -1
- data/etc/mesg.d/ja_JP/messages.yml +1 -1
- data/lib/adlint/c.rb +1 -0
- data/lib/adlint/c/enum.rb +52 -0
- data/lib/adlint/c/expr.rb +43 -102
- data/lib/adlint/c/interp.rb +1 -1
- data/lib/adlint/c/mediator.rb +1 -0
- data/lib/adlint/c/message.rb +831 -49
- data/lib/adlint/c/message_shima.rb +236 -0
- data/lib/adlint/c/metric.rb +9 -0
- data/lib/adlint/c/object.rb +37 -32
- data/lib/adlint/c/parser.rb +7 -7
- data/lib/adlint/c/parser.y +7 -7
- data/lib/adlint/c/phase.rb +21 -0
- data/lib/adlint/c/syntax.rb +11 -4
- data/lib/adlint/c/type.rb +1 -1
- data/lib/adlint/cpp.rb +1 -0
- data/lib/adlint/cpp/asm.rb +73 -0
- data/lib/adlint/cpp/message.rb +13 -0
- data/lib/adlint/cpp/message_shima.rb +36 -0
- data/lib/adlint/cpp/phase.rb +3 -0
- data/lib/adlint/cpp/source.rb +9 -0
- data/lib/adlint/version.rb +3 -3
- data/share/demo/Makefile +4 -0
- data/share/demo/bad_conv/bad_conv.c +12 -0
- data/share/demo/bad_enum/bad_enum.c +48 -2
- data/share/demo/bad_label/bad_label.c +26 -0
- data/share/demo/bad_macro/bad_macro.c +3 -0
- data/share/demo/implicit_conv/implicit_conv.c +1 -0
- data/share/demo/inline_asm/inline_asm.c +18 -0
- data/share/demo/invalid_call/invalid_call.c +5 -0
- data/share/demo/multi_decl/multi_decl_1.c +30 -0
- data/share/demo/overflow/overflow.c +3 -3
- data/share/demo/redundant_select/redundant_select.c +25 -0
- data/share/demo/reserved_ident/reserved_ident.c +98 -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 +234 -126
- data/share/doc/users_guide_en.texi +207 -98
- data/share/doc/users_guide_ja.html +247 -156
- data/share/doc/users_guide_ja.texi +221 -130
- data/share/sample/vim-7.3/adlint/xxd/adlint_traits.yml +1 -1
- metadata +8 -2
@@ -0,0 +1,18 @@
|
|
1
|
+
void foo(int arg1, int *arg2, int arg3)
|
2
|
+
{
|
3
|
+
asm("movl %ecx, %eax");
|
4
|
+
__asm__("movl %ecx, (%eax)");
|
5
|
+
|
6
|
+
asm {
|
7
|
+
xorl eax, eax
|
8
|
+
}
|
9
|
+
|
10
|
+
__asm__ volatile (
|
11
|
+
"int $0x80"
|
12
|
+
: "=a" (r)
|
13
|
+
"+b" (arg1),
|
14
|
+
"+c" (arg2),
|
15
|
+
"+d" (arg3)
|
16
|
+
: "a" (128)
|
17
|
+
: "memory", "cc");
|
18
|
+
}
|
@@ -2,16 +2,46 @@
|
|
2
2
|
|
3
3
|
int g1;
|
4
4
|
struct Point g2;
|
5
|
+
double g3;
|
5
6
|
|
6
7
|
int foo(void)
|
7
8
|
{
|
9
|
+
extern int g3;
|
10
|
+
extern int func1(void);
|
11
|
+
typedef long g3;
|
12
|
+
|
8
13
|
return 0;
|
9
14
|
}
|
10
15
|
|
16
|
+
enum E1 { A, B, C };
|
17
|
+
|
11
18
|
struct Point *bar(int i)
|
12
19
|
{
|
20
|
+
extern long g3;
|
21
|
+
extern int func1(int);
|
22
|
+
|
23
|
+
enum E2 { A, B, C };
|
24
|
+
typedef int A;
|
25
|
+
|
26
|
+
{
|
27
|
+
extern short g3;
|
28
|
+
extern int g3;
|
29
|
+
extern void func1(int);
|
30
|
+
extern int func1(int);
|
31
|
+
}
|
32
|
+
|
33
|
+
{
|
34
|
+
extern char g3;
|
35
|
+
extern short g3;
|
36
|
+
extern void func1(int, ...);
|
37
|
+
extern void func1(int);
|
38
|
+
}
|
39
|
+
|
13
40
|
static struct Point p;
|
14
41
|
p.x = i;
|
15
42
|
p.y = i * 2;
|
43
|
+
|
16
44
|
return &p;
|
17
45
|
}
|
46
|
+
|
47
|
+
typedef int A;
|
@@ -47,7 +47,7 @@ static void bar(void)
|
|
47
47
|
const int si2 = (int) 1.5e10;
|
48
48
|
|
49
49
|
const int si3 = (int) -1.5e9;
|
50
|
-
const int
|
50
|
+
const int si4 = (int) -1.5e10;
|
51
51
|
|
52
52
|
int *data_ptr = (int *) alloc();
|
53
53
|
int (*func_ptr)(void) = (int (*)(void)) alloc();
|
@@ -75,8 +75,8 @@ static void bar(void)
|
|
75
75
|
const signed char sc5 = 127;
|
76
76
|
const signed char sc6 = 128;
|
77
77
|
|
78
|
-
const int
|
79
|
-
const int
|
78
|
+
const int si5 = 2147483647;
|
79
|
+
const int si6 = 2147483648;
|
80
80
|
}
|
81
81
|
|
82
82
|
extern long baz(void);
|
@@ -0,0 +1,25 @@
|
|
1
|
+
int foo(const int i)
|
2
|
+
{
|
3
|
+
if (i > 5) {
|
4
|
+
switch (i) {
|
5
|
+
case 0:
|
6
|
+
return 1;
|
7
|
+
case 5:
|
8
|
+
return 2;
|
9
|
+
default:
|
10
|
+
return 3;
|
11
|
+
}
|
12
|
+
}
|
13
|
+
|
14
|
+
switch (i) {
|
15
|
+
case 0:
|
16
|
+
return 4;
|
17
|
+
default:
|
18
|
+
switch (i) {
|
19
|
+
case 10:
|
20
|
+
return 5;
|
21
|
+
default:
|
22
|
+
return 6;
|
23
|
+
}
|
24
|
+
}
|
25
|
+
}
|
@@ -0,0 +1,98 @@
|
|
1
|
+
void __fundecl(void);
|
2
|
+
extern void _FUNDECL(void);
|
3
|
+
static void _fundecl(void);
|
4
|
+
|
5
|
+
extern int __vardecl;
|
6
|
+
extern int _VARDECL;
|
7
|
+
static int _vardecl;
|
8
|
+
|
9
|
+
int __vardef = 0;
|
10
|
+
extern int _VARDEF = 0;
|
11
|
+
static int _vardef = 0;
|
12
|
+
|
13
|
+
int __ansi_fundef(const int __param, const int _PARAM, const int _param)
|
14
|
+
{
|
15
|
+
return __param + _PARAM + _param;
|
16
|
+
}
|
17
|
+
|
18
|
+
int _ANSI_FUNDEF(const int __param, const int _PARAM, const int _param)
|
19
|
+
{
|
20
|
+
return __param + _PARAM + _param;
|
21
|
+
}
|
22
|
+
|
23
|
+
static _ansi_fundef(const int __param, const int _PARAM, const int _param)
|
24
|
+
{
|
25
|
+
return __param + _PARAM + _param;
|
26
|
+
}
|
27
|
+
|
28
|
+
int __kandr_fundef(__param, _PARAM, _param)
|
29
|
+
const int __param;
|
30
|
+
const int _PARAM;
|
31
|
+
const int _param;
|
32
|
+
{
|
33
|
+
return __param + _PARAM + _param;
|
34
|
+
}
|
35
|
+
|
36
|
+
int _KANDR_FUNDEF(__param, _PARAM, _param)
|
37
|
+
const int __param;
|
38
|
+
const int _PARAM;
|
39
|
+
const int _param;
|
40
|
+
{
|
41
|
+
return __param + _PARAM + _param;
|
42
|
+
}
|
43
|
+
|
44
|
+
static int _kandr_fundef(__param, _PARAM, _param)
|
45
|
+
const int __param;
|
46
|
+
const int _PARAM;
|
47
|
+
const int _param;
|
48
|
+
{
|
49
|
+
return __param + _PARAM + _param;
|
50
|
+
}
|
51
|
+
|
52
|
+
typedef int __typedef;
|
53
|
+
typedef int _TYPEDEF;
|
54
|
+
typedef int _typedef;
|
55
|
+
|
56
|
+
struct __struct_tag {
|
57
|
+
int i;
|
58
|
+
};
|
59
|
+
struct _STRUCT_TAG {
|
60
|
+
int i;
|
61
|
+
};
|
62
|
+
struct _struct_tag {
|
63
|
+
int i;
|
64
|
+
};
|
65
|
+
|
66
|
+
union __union_tag {
|
67
|
+
int i;
|
68
|
+
};
|
69
|
+
union _UNION_TAG {
|
70
|
+
int i;
|
71
|
+
};
|
72
|
+
union _union_tag {
|
73
|
+
int i;
|
74
|
+
};
|
75
|
+
|
76
|
+
enum __enum_tag { __enum, _ENUM, _enum };
|
77
|
+
enum _ENUM_TAG { __enum, _ENUM, _enum };
|
78
|
+
enum _enum_tag { __enum, _ENUM, _enum };
|
79
|
+
|
80
|
+
typedef struct __struct_tag_ {
|
81
|
+
int i;
|
82
|
+
} __struct_tag_t;
|
83
|
+
typedef struct _STRUCT_TAG_ {
|
84
|
+
int i;
|
85
|
+
} _STRUCT_TAG_t;
|
86
|
+
typedef struct _struct_tag_ {
|
87
|
+
int i;
|
88
|
+
} _struct_tag_t;
|
89
|
+
|
90
|
+
typedef struct {
|
91
|
+
int i;
|
92
|
+
} __unnamed_t;
|
93
|
+
typedef struct {
|
94
|
+
int i;
|
95
|
+
} _UNNAMED_T;
|
96
|
+
typedef struct {
|
97
|
+
int i;
|
98
|
+
} _unnamed_t;
|
@@ -1,8 +1,8 @@
|
|
1
1
|
<html lang="ja">
|
2
2
|
<head>
|
3
|
-
<title>AdLint 1.
|
3
|
+
<title>AdLint 1.6.0 開発者ガイド</title>
|
4
4
|
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
|
5
|
-
<meta name="description" content="AdLint 1.
|
5
|
+
<meta name="description" content="AdLint 1.6.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.
|
47
|
+
<h1 class="settitle">AdLint 1.6.0 開発者ガイド</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.
|
3
|
+
<title>AdLint 1.6.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.
|
5
|
+
<meta name="description" content="AdLint 1.6.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.
|
47
|
+
<h1 class="settitle">AdLint 1.6.0 User's Guide</h1>
|
48
48
|
<div class="node">
|
49
49
|
<a name="Top"></a>
|
50
50
|
<p><hr>
|
@@ -3390,7 +3390,7 @@ case 1:
|
|
3390
3390
|
case 2:
|
3391
3391
|
value = 2;
|
3392
3392
|
break;
|
3393
|
-
case 3
|
3393
|
+
case 3:
|
3394
3394
|
value = 3;
|
3395
3395
|
break; /* W0003 */
|
3396
3396
|
}
|
@@ -27191,13 +27191,28 @@ Up: <a rel="up" accesskey="u" href="#Messages">Messages</a>
|
|
27191
27191
|
|
27192
27192
|
<h4 class="subsection">6.449.2 Content</h4>
|
27193
27193
|
|
27194
|
-
<p
|
27195
|
-
|
27196
|
-
<p>Under construction.
|
27194
|
+
<p>Under construction.
|
27197
27195
|
|
27198
27196
|
<h4 class="subsection">6.449.3 Sample code</h4>
|
27199
27197
|
|
27200
|
-
<pre class="verbatim"
|
27198
|
+
<pre class="verbatim">void foo(int arg1, int *arg2, int arg3)
|
27199
|
+
{
|
27200
|
+
asm("movl %ecx, %eax"); /* W0541 */
|
27201
|
+
__asm__("movl %ecx, (%eax)"); /* W0541 */
|
27202
|
+
|
27203
|
+
asm { /* W0541 */
|
27204
|
+
xorl eax, eax
|
27205
|
+
}
|
27206
|
+
|
27207
|
+
__asm__ volatile ( /* W0541 */
|
27208
|
+
"int $0x80"
|
27209
|
+
: "=a" (r)
|
27210
|
+
"+b" (arg1),
|
27211
|
+
"+c" (arg2),
|
27212
|
+
"+d" (arg3)
|
27213
|
+
: "a" (128)
|
27214
|
+
: "memory", "cc");
|
27215
|
+
}
|
27201
27216
|
</pre>
|
27202
27217
|
|
27203
27218
|
<h4 class="subsection">6.449.4 Related message</h4>
|
@@ -27206,7 +27221,7 @@ Up: <a rel="up" accesskey="u" href="#Messages">Messages</a>
|
|
27206
27221
|
|
27207
27222
|
<h4 class="subsection">6.449.5 Since</h4>
|
27208
27223
|
|
27209
|
-
<p>
|
27224
|
+
<p>1.6.0
|
27210
27225
|
|
27211
27226
|
<div class="node">
|
27212
27227
|
<a name="W0542"></a>
|
@@ -28258,9 +28273,7 @@ Up: <a rel="up" accesskey="u" href="#Messages">Messages</a>
|
|
28258
28273
|
|
28259
28274
|
<h4 class="subsection">6.475.2 Content</h4>
|
28260
28275
|
|
28261
|
-
<p
|
28262
|
-
|
28263
|
-
<p>Under construction.
|
28276
|
+
<p>Under construction.
|
28264
28277
|
|
28265
28278
|
<h4 class="subsection">6.475.3 Sample code</h4>
|
28266
28279
|
|
@@ -28274,7 +28287,7 @@ scanf("%[a-z]", &c); /* W0573 */
|
|
28274
28287
|
|
28275
28288
|
<h4 class="subsection">6.475.5 Since</h4>
|
28276
28289
|
|
28277
|
-
<p>
|
28290
|
+
<p>1.6.0
|
28278
28291
|
|
28279
28292
|
<div class="node">
|
28280
28293
|
<a name="W0574"></a>
|
@@ -28484,9 +28497,7 @@ Up: <a rel="up" accesskey="u" href="#Messages">Messages</a>
|
|
28484
28497
|
|
28485
28498
|
<h4 class="subsection">6.481.2 Content</h4>
|
28486
28499
|
|
28487
|
-
<p
|
28488
|
-
|
28489
|
-
<p>Under construction.
|
28500
|
+
<p>Under construction.
|
28490
28501
|
|
28491
28502
|
<h4 class="subsection">6.481.3 Sample code</h4>
|
28492
28503
|
|
@@ -28502,7 +28513,7 @@ Up: <a rel="up" accesskey="u" href="#Messages">Messages</a>
|
|
28502
28513
|
|
28503
28514
|
<h4 class="subsection">6.481.5 Since</h4>
|
28504
28515
|
|
28505
|
-
<p>
|
28516
|
+
<p>1.6.0
|
28506
28517
|
|
28507
28518
|
<div class="node">
|
28508
28519
|
<a name="W0580"></a>
|
@@ -30368,13 +30379,13 @@ Up: <a rel="up" accesskey="u" href="#Messages">Messages</a>
|
|
30368
30379
|
|
30369
30380
|
<p>Under construction.
|
30370
30381
|
|
30382
|
+
<h4 class="subsection">6.524.3 Sample code</h4>
|
30383
|
+
|
30371
30384
|
<pre class="verbatim">register int arr1[3]; /* W0642 */
|
30372
30385
|
int* p = arr1;
|
30373
30386
|
</pre>
|
30374
30387
|
|
30375
|
-
|
30376
|
-
|
30377
|
-
<h4 class="subsection">6.524.3 Related message</h4>
|
30388
|
+
<h4 class="subsection">6.524.4 Related message</h4>
|
30378
30389
|
|
30379
30390
|
<ul>
|
30380
30391
|
<li><a href="#W0643">W0643</a> This string literal constituted by a macro is illegal form unenclosed by `"'. `#'operator may apply to actual argument which has '\' at the end.
|
@@ -30383,7 +30394,7 @@ int* p = arr1;
|
|
30383
30394
|
<li><a href="#W0646">W0646</a> A normal string literal and a wide string literal are contiguous.
|
30384
30395
|
</ul>
|
30385
30396
|
|
30386
|
-
<h4 class="subsection">6.524.
|
30397
|
+
<h4 class="subsection">6.524.5 Since</h4>
|
30387
30398
|
|
30388
30399
|
<p>2.0.0 (planned)
|
30389
30400
|
|
@@ -32840,13 +32851,12 @@ Up: <a rel="up" accesskey="u" href="#Messages">Messages</a>
|
|
32840
32851
|
|
32841
32852
|
<h4 class="subsection">6.563.2 Content</h4>
|
32842
32853
|
|
32843
|
-
<p
|
32844
|
-
|
32845
|
-
<p>Under construction.
|
32854
|
+
<p>Under construction.
|
32846
32855
|
|
32847
32856
|
<h4 class="subsection">6.563.3 Sample code</h4>
|
32848
32857
|
|
32849
|
-
<pre class="verbatim"
|
32858
|
+
<pre class="verbatim">char c;
|
32859
|
+
scanf("%[z-a]", &c); /* W0685 */
|
32850
32860
|
</pre>
|
32851
32861
|
|
32852
32862
|
<h4 class="subsection">6.563.4 Related message</h4>
|
@@ -32887,7 +32897,7 @@ Up: <a rel="up" accesskey="u" href="#Messages">Messages</a>
|
|
32887
32897
|
|
32888
32898
|
<h4 class="subsection">6.563.5 Since</h4>
|
32889
32899
|
|
32890
|
-
<p>
|
32900
|
+
<p>1.6.0
|
32891
32901
|
|
32892
32902
|
<div class="node">
|
32893
32903
|
<a name="W0686"></a>
|
@@ -32908,13 +32918,12 @@ Up: <a rel="up" accesskey="u" href="#Messages">Messages</a>
|
|
32908
32918
|
|
32909
32919
|
<h4 class="subsection">6.564.2 Content</h4>
|
32910
32920
|
|
32911
|
-
<p
|
32912
|
-
|
32913
|
-
<p>Under construction.
|
32921
|
+
<p>Under construction.
|
32914
32922
|
|
32915
32923
|
<h4 class="subsection">6.564.3 Sample code</h4>
|
32916
32924
|
|
32917
|
-
<pre class="verbatim"
|
32925
|
+
<pre class="verbatim">char c;
|
32926
|
+
scanf("%[abcda]", &c); /* W0686 */
|
32918
32927
|
</pre>
|
32919
32928
|
|
32920
32929
|
<h4 class="subsection">6.564.4 Related message</h4>
|
@@ -32955,7 +32964,7 @@ Up: <a rel="up" accesskey="u" href="#Messages">Messages</a>
|
|
32955
32964
|
|
32956
32965
|
<h4 class="subsection">6.564.5 Since</h4>
|
32957
32966
|
|
32958
|
-
<p>
|
32967
|
+
<p>1.6.0
|
32959
32968
|
|
32960
32969
|
<div class="node">
|
32961
32970
|
<a name="W0687"></a>
|
@@ -36851,13 +36860,35 @@ Up: <a rel="up" accesskey="u" href="#Messages">Messages</a>
|
|
36851
36860
|
|
36852
36861
|
<h4 class="subsection">6.650.2 Content</h4>
|
36853
36862
|
|
36854
|
-
<p
|
36855
|
-
|
36856
|
-
<p>Under construction.
|
36863
|
+
<p>Under construction.
|
36857
36864
|
|
36858
36865
|
<h4 class="subsection">6.650.3 Sample code</h4>
|
36859
36866
|
|
36860
|
-
<pre class="verbatim"
|
36867
|
+
<pre class="verbatim">int foo(const int i)
|
36868
|
+
{
|
36869
|
+
if (i > 5) {
|
36870
|
+
switch (i) { /* W0781 */
|
36871
|
+
case 0:
|
36872
|
+
return 1;
|
36873
|
+
case 5:
|
36874
|
+
return 2;
|
36875
|
+
default:
|
36876
|
+
return 3;
|
36877
|
+
}
|
36878
|
+
}
|
36879
|
+
|
36880
|
+
switch (i) { /* OK */
|
36881
|
+
case 0:
|
36882
|
+
return 4;
|
36883
|
+
default:
|
36884
|
+
switch (i) { /* W0781 */
|
36885
|
+
case 10:
|
36886
|
+
return 5;
|
36887
|
+
default:
|
36888
|
+
return 6;
|
36889
|
+
}
|
36890
|
+
}
|
36891
|
+
}
|
36861
36892
|
</pre>
|
36862
36893
|
|
36863
36894
|
<h4 class="subsection">6.650.4 Related message</h4>
|
@@ -36866,7 +36897,7 @@ Up: <a rel="up" accesskey="u" href="#Messages">Messages</a>
|
|
36866
36897
|
|
36867
36898
|
<h4 class="subsection">6.650.5 Since</h4>
|
36868
36899
|
|
36869
|
-
<p>
|
36900
|
+
<p>1.6.0
|
36870
36901
|
|
36871
36902
|
<div class="node">
|
36872
36903
|
<a name="W0783"></a>
|
@@ -37037,13 +37068,21 @@ Up: <a rel="up" accesskey="u" href="#Messages">Messages</a>
|
|
37037
37068
|
|
37038
37069
|
<h4 class="subsection">6.655.2 Content</h4>
|
37039
37070
|
|
37040
|
-
<p
|
37041
|
-
|
37042
|
-
<p>Under construction.
|
37071
|
+
<p>Under construction.
|
37043
37072
|
|
37044
37073
|
<h4 class="subsection">6.655.3 Sample code</h4>
|
37045
37074
|
|
37046
|
-
<pre class="verbatim"
|
37075
|
+
<pre class="verbatim">void func1(void)
|
37076
|
+
{
|
37077
|
+
extern int num;
|
37078
|
+
extern void func3(void);
|
37079
|
+
}
|
37080
|
+
|
37081
|
+
void func2(void)
|
37082
|
+
{
|
37083
|
+
extern double num; /* W0787 */
|
37084
|
+
extern void func3(int); /* W0787 */
|
37085
|
+
}
|
37047
37086
|
</pre>
|
37048
37087
|
|
37049
37088
|
<h4 class="subsection">6.655.4 Related message</h4>
|
@@ -37055,7 +37094,7 @@ Up: <a rel="up" accesskey="u" href="#Messages">Messages</a>
|
|
37055
37094
|
|
37056
37095
|
<h4 class="subsection">6.655.5 Since</h4>
|
37057
37096
|
|
37058
|
-
<p>
|
37097
|
+
<p>1.6.0
|
37059
37098
|
|
37060
37099
|
<div class="node">
|
37061
37100
|
<a name="W0788"></a>
|
@@ -37076,13 +37115,17 @@ Up: <a rel="up" accesskey="u" href="#Messages">Messages</a>
|
|
37076
37115
|
|
37077
37116
|
<h4 class="subsection">6.656.2 Content</h4>
|
37078
37117
|
|
37079
|
-
<p
|
37080
|
-
|
37081
|
-
<p>Under construction.
|
37118
|
+
<p>Under construction.
|
37082
37119
|
|
37083
37120
|
<h4 class="subsection">6.656.3 Sample code</h4>
|
37084
37121
|
|
37085
|
-
<pre class="verbatim"
|
37122
|
+
<pre class="verbatim">extern int func(void);
|
37123
|
+
|
37124
|
+
void func(void) /* W0788 */
|
37125
|
+
{
|
37126
|
+
typedef int num;
|
37127
|
+
double num; /* W0788 */
|
37128
|
+
}
|
37086
37129
|
</pre>
|
37087
37130
|
|
37088
37131
|
<h4 class="subsection">6.656.4 Related message</h4>
|
@@ -37094,7 +37137,7 @@ Up: <a rel="up" accesskey="u" href="#Messages">Messages</a>
|
|
37094
37137
|
|
37095
37138
|
<h4 class="subsection">6.656.5 Since</h4>
|
37096
37139
|
|
37097
|
-
<p>
|
37140
|
+
<p>1.6.0
|
37098
37141
|
|
37099
37142
|
<div class="node">
|
37100
37143
|
<a name="W0789"></a>
|
@@ -37115,13 +37158,18 @@ Up: <a rel="up" accesskey="u" href="#Messages">Messages</a>
|
|
37115
37158
|
|
37116
37159
|
<h4 class="subsection">6.657.2 Content</h4>
|
37117
37160
|
|
37118
|
-
<p
|
37119
|
-
|
37120
|
-
<p>Under construction.
|
37161
|
+
<p>Under construction.
|
37121
37162
|
|
37122
37163
|
<h4 class="subsection">6.657.3 Sample code</h4>
|
37123
37164
|
|
37124
|
-
<pre class="verbatim"
|
37165
|
+
<pre class="verbatim">int num = 0;
|
37166
|
+
extern int func1(void);
|
37167
|
+
|
37168
|
+
void func2(void)
|
37169
|
+
{
|
37170
|
+
extern double num; /* W0789 */
|
37171
|
+
extern void func1(void); /* W0789 */
|
37172
|
+
}
|
37125
37173
|
</pre>
|
37126
37174
|
|
37127
37175
|
<h4 class="subsection">6.657.4 Related message</h4>
|
@@ -37133,7 +37181,7 @@ Up: <a rel="up" accesskey="u" href="#Messages">Messages</a>
|
|
37133
37181
|
|
37134
37182
|
<h4 class="subsection">6.657.5 Since</h4>
|
37135
37183
|
|
37136
|
-
<p>
|
37184
|
+
<p>1.6.0
|
37137
37185
|
|
37138
37186
|
<div class="node">
|
37139
37187
|
<a name="W0790"></a>
|
@@ -37854,13 +37902,11 @@ Up: <a rel="up" accesskey="u" href="#Messages">Messages</a>
|
|
37854
37902
|
|
37855
37903
|
<h4 class="subsection">6.675.2 Content</h4>
|
37856
37904
|
|
37857
|
-
<p
|
37858
|
-
|
37859
|
-
<p>Under construction.
|
37905
|
+
<p>Under construction.
|
37860
37906
|
|
37861
37907
|
<h4 class="subsection">6.675.3 Sample code</h4>
|
37862
37908
|
|
37863
|
-
<pre class="verbatim"
|
37909
|
+
<pre class="verbatim">#undef __STDC_VERSION__ /* W0807 */
|
37864
37910
|
</pre>
|
37865
37911
|
|
37866
37912
|
<h4 class="subsection">6.675.4 Related message</h4>
|
@@ -37872,7 +37918,7 @@ Up: <a rel="up" accesskey="u" href="#Messages">Messages</a>
|
|
37872
37918
|
|
37873
37919
|
<h4 class="subsection">6.675.5 Since</h4>
|
37874
37920
|
|
37875
|
-
<p>
|
37921
|
+
<p>1.6.0
|
37876
37922
|
|
37877
37923
|
<div class="node">
|
37878
37924
|
<a name="W0808"></a>
|
@@ -37893,13 +37939,11 @@ Up: <a rel="up" accesskey="u" href="#Messages">Messages</a>
|
|
37893
37939
|
|
37894
37940
|
<h4 class="subsection">6.676.2 Content</h4>
|
37895
37941
|
|
37896
|
-
<p
|
37897
|
-
|
37898
|
-
<p>Under construction.
|
37942
|
+
<p>Under construction.
|
37899
37943
|
|
37900
37944
|
<h4 class="subsection">6.676.3 Sample code</h4>
|
37901
37945
|
|
37902
|
-
<pre class="verbatim"
|
37946
|
+
<pre class="verbatim">#define __FILE__ "test.c" /* W0808 */
|
37903
37947
|
</pre>
|
37904
37948
|
|
37905
37949
|
<h4 class="subsection">6.676.4 Related message</h4>
|
@@ -37911,7 +37955,7 @@ Up: <a rel="up" accesskey="u" href="#Messages">Messages</a>
|
|
37911
37955
|
|
37912
37956
|
<h4 class="subsection">6.676.5 Since</h4>
|
37913
37957
|
|
37914
|
-
<p>
|
37958
|
+
<p>1.6.0
|
37915
37959
|
|
37916
37960
|
<div class="node">
|
37917
37961
|
<a name="W0809"></a>
|
@@ -37932,13 +37976,13 @@ Up: <a rel="up" accesskey="u" href="#Messages">Messages</a>
|
|
37932
37976
|
|
37933
37977
|
<h4 class="subsection">6.677.2 Content</h4>
|
37934
37978
|
|
37935
|
-
<p
|
37936
|
-
|
37937
|
-
<p>Under construction.
|
37979
|
+
<p>Under construction.
|
37938
37980
|
|
37939
37981
|
<h4 class="subsection">6.677.3 Sample code</h4>
|
37940
37982
|
|
37941
|
-
<pre class="verbatim"
|
37983
|
+
<pre class="verbatim">extern int __value; /* W0809 */
|
37984
|
+
int _VAL = 10; /* W0809 */
|
37985
|
+
static void _func(void); /* W0809 */
|
37942
37986
|
</pre>
|
37943
37987
|
|
37944
37988
|
<h4 class="subsection">6.677.4 Related message</h4>
|
@@ -37947,7 +37991,7 @@ Up: <a rel="up" accesskey="u" href="#Messages">Messages</a>
|
|
37947
37991
|
|
37948
37992
|
<h4 class="subsection">6.677.5 Since</h4>
|
37949
37993
|
|
37950
|
-
<p>
|
37994
|
+
<p>1.6.0
|
37951
37995
|
|
37952
37996
|
<div class="node">
|
37953
37997
|
<a name="W0810"></a>
|
@@ -38663,13 +38707,26 @@ Up: <a rel="up" accesskey="u" href="#Messages">Messages</a>
|
|
38663
38707
|
|
38664
38708
|
<h4 class="subsection">6.696.2 Content</h4>
|
38665
38709
|
|
38666
|
-
<p
|
38667
|
-
|
38668
|
-
<p>Under construction.
|
38710
|
+
<p>Under construction.
|
38669
38711
|
|
38670
38712
|
<h4 class="subsection">6.696.3 Sample code</h4>
|
38671
38713
|
|
38672
|
-
<pre class="verbatim"
|
38714
|
+
<pre class="verbatim">void func(int a, int b)
|
38715
|
+
{
|
38716
|
+
if (a == 0) {
|
38717
|
+
int c = 0;
|
38718
|
+
RETRY:
|
38719
|
+
b = 10;
|
38720
|
+
}
|
38721
|
+
|
38722
|
+
if (b != 0) {
|
38723
|
+
goto RETRY;
|
38724
|
+
}
|
38725
|
+
RETRY: /* W1030 */
|
38726
|
+
b = 1;
|
38727
|
+
|
38728
|
+
...snip...
|
38729
|
+
}
|
38673
38730
|
</pre>
|
38674
38731
|
|
38675
38732
|
<h4 class="subsection">6.696.4 Related message</h4>
|
@@ -38678,7 +38735,7 @@ Up: <a rel="up" accesskey="u" href="#Messages">Messages</a>
|
|
38678
38735
|
|
38679
38736
|
<h4 class="subsection">6.696.5 Since</h4>
|
38680
38737
|
|
38681
|
-
<p>
|
38738
|
+
<p>1.6.0
|
38682
38739
|
|
38683
38740
|
<div class="node">
|
38684
38741
|
<a name="W1031"></a>
|
@@ -39546,13 +39603,18 @@ Up: <a rel="up" accesskey="u" href="#Messages">Messages</a>
|
|
39546
39603
|
|
39547
39604
|
<h4 class="subsection">6.718.2 Content</h4>
|
39548
39605
|
|
39549
|
-
<p
|
39550
|
-
|
39551
|
-
<p>Under construction.
|
39606
|
+
<p>Under construction.
|
39552
39607
|
|
39553
39608
|
<h4 class="subsection">6.718.3 Sample code</h4>
|
39554
39609
|
|
39555
|
-
<pre class="verbatim"
|
39610
|
+
<pre class="verbatim">enum Color { RED = 1, GREEN = 2, BLUE = 4 };
|
39611
|
+
|
39612
|
+
extern void func1(enum Color);
|
39613
|
+
|
39614
|
+
void func2(void)
|
39615
|
+
{
|
39616
|
+
func1(4); /* W1053 */
|
39617
|
+
}
|
39556
39618
|
</pre>
|
39557
39619
|
|
39558
39620
|
<h4 class="subsection">6.718.4 Related message</h4>
|
@@ -39574,7 +39636,7 @@ Up: <a rel="up" accesskey="u" href="#Messages">Messages</a>
|
|
39574
39636
|
|
39575
39637
|
<h4 class="subsection">6.718.5 Since</h4>
|
39576
39638
|
|
39577
|
-
<p>
|
39639
|
+
<p>1.6.0
|
39578
39640
|
|
39579
39641
|
<div class="node">
|
39580
39642
|
<a name="W1054"></a>
|
@@ -39595,13 +39657,18 @@ Up: <a rel="up" accesskey="u" href="#Messages">Messages</a>
|
|
39595
39657
|
|
39596
39658
|
<h4 class="subsection">6.719.2 Content</h4>
|
39597
39659
|
|
39598
|
-
<p
|
39599
|
-
|
39600
|
-
<p>Under construction.
|
39660
|
+
<p>Under construction.
|
39601
39661
|
|
39602
39662
|
<h4 class="subsection">6.719.3 Sample code</h4>
|
39603
39663
|
|
39604
|
-
<pre class="verbatim"
|
39664
|
+
<pre class="verbatim">enum Color { RED = 1, GREEN = 2, BLUE = 4 };
|
39665
|
+
|
39666
|
+
extern enum Color col;
|
39667
|
+
|
39668
|
+
void func2(void)
|
39669
|
+
{
|
39670
|
+
col = 4; /* W1054 */
|
39671
|
+
}
|
39605
39672
|
</pre>
|
39606
39673
|
|
39607
39674
|
<h4 class="subsection">6.719.4 Related message</h4>
|
@@ -39623,7 +39690,7 @@ Up: <a rel="up" accesskey="u" href="#Messages">Messages</a>
|
|
39623
39690
|
|
39624
39691
|
<h4 class="subsection">6.719.5 Since</h4>
|
39625
39692
|
|
39626
|
-
<p>
|
39693
|
+
<p>1.6.0
|
39627
39694
|
|
39628
39695
|
<div class="node">
|
39629
39696
|
<a name="W1055"></a>
|
@@ -39644,13 +39711,16 @@ Up: <a rel="up" accesskey="u" href="#Messages">Messages</a>
|
|
39644
39711
|
|
39645
39712
|
<h4 class="subsection">6.720.2 Content</h4>
|
39646
39713
|
|
39647
|
-
<p
|
39648
|
-
|
39649
|
-
<p>Under construction.
|
39714
|
+
<p>Under construction.
|
39650
39715
|
|
39651
39716
|
<h4 class="subsection">6.720.3 Sample code</h4>
|
39652
39717
|
|
39653
|
-
<pre class="verbatim"
|
39718
|
+
<pre class="verbatim">enum Color { RED = 1, GREEN = 2, BLUE = 4 };
|
39719
|
+
|
39720
|
+
enum Color func(void)
|
39721
|
+
{
|
39722
|
+
return 4; /* W1055 */
|
39723
|
+
}
|
39654
39724
|
</pre>
|
39655
39725
|
|
39656
39726
|
<h4 class="subsection">6.720.4 Related message</h4>
|
@@ -39672,7 +39742,7 @@ Up: <a rel="up" accesskey="u" href="#Messages">Messages</a>
|
|
39672
39742
|
|
39673
39743
|
<h4 class="subsection">6.720.5 Since</h4>
|
39674
39744
|
|
39675
|
-
<p>
|
39745
|
+
<p>1.6.0
|
39676
39746
|
|
39677
39747
|
<div class="node">
|
39678
39748
|
<a name="W1056"></a>
|
@@ -39693,13 +39763,19 @@ Up: <a rel="up" accesskey="u" href="#Messages">Messages</a>
|
|
39693
39763
|
|
39694
39764
|
<h4 class="subsection">6.721.2 Content</h4>
|
39695
39765
|
|
39696
|
-
<p
|
39697
|
-
|
39698
|
-
<p>Under construction.
|
39766
|
+
<p>Under construction.
|
39699
39767
|
|
39700
39768
|
<h4 class="subsection">6.721.3 Sample code</h4>
|
39701
39769
|
|
39702
|
-
<pre class="verbatim"
|
39770
|
+
<pre class="verbatim">enum Color { RED = 1, GREEN= 2, BLUE = 4 };
|
39771
|
+
enum Season { SPRING = 1, SUMMER, AUTUMN, WINTER };
|
39772
|
+
|
39773
|
+
extern void func1(enum Color);
|
39774
|
+
|
39775
|
+
void func2(enum Season ssn)
|
39776
|
+
{
|
39777
|
+
func1(ssn); /* W1056 */
|
39778
|
+
}
|
39703
39779
|
</pre>
|
39704
39780
|
|
39705
39781
|
<h4 class="subsection">6.721.4 Related message</h4>
|
@@ -39721,7 +39797,7 @@ Up: <a rel="up" accesskey="u" href="#Messages">Messages</a>
|
|
39721
39797
|
|
39722
39798
|
<h4 class="subsection">6.721.5 Since</h4>
|
39723
39799
|
|
39724
|
-
<p>
|
39800
|
+
<p>1.6.0
|
39725
39801
|
|
39726
39802
|
<div class="node">
|
39727
39803
|
<a name="W1057"></a>
|
@@ -39742,13 +39818,19 @@ Up: <a rel="up" accesskey="u" href="#Messages">Messages</a>
|
|
39742
39818
|
|
39743
39819
|
<h4 class="subsection">6.722.2 Content</h4>
|
39744
39820
|
|
39745
|
-
<p
|
39746
|
-
|
39747
|
-
<p>Under construction.
|
39821
|
+
<p>Under construction.
|
39748
39822
|
|
39749
39823
|
<h4 class="subsection">6.722.3 Sample code</h4>
|
39750
39824
|
|
39751
|
-
<pre class="verbatim"
|
39825
|
+
<pre class="verbatim">enum Color { RED = 1, GREEN = 2, BLUE = 4 };
|
39826
|
+
enum Season { SPRING = 1, SUMMER, AUTUMN, WINTER };
|
39827
|
+
|
39828
|
+
extern enum Color col;
|
39829
|
+
|
39830
|
+
void func(enum Season ssn)
|
39831
|
+
{
|
39832
|
+
col = ssn; /* W1057 */
|
39833
|
+
}
|
39752
39834
|
</pre>
|
39753
39835
|
|
39754
39836
|
<h4 class="subsection">6.722.4 Related message</h4>
|
@@ -39770,7 +39852,7 @@ Up: <a rel="up" accesskey="u" href="#Messages">Messages</a>
|
|
39770
39852
|
|
39771
39853
|
<h4 class="subsection">6.722.5 Since</h4>
|
39772
39854
|
|
39773
|
-
<p>
|
39855
|
+
<p>1.6.0
|
39774
39856
|
|
39775
39857
|
<div class="node">
|
39776
39858
|
<a name="W1058"></a>
|
@@ -39791,13 +39873,17 @@ Up: <a rel="up" accesskey="u" href="#Messages">Messages</a>
|
|
39791
39873
|
|
39792
39874
|
<h4 class="subsection">6.723.2 Content</h4>
|
39793
39875
|
|
39794
|
-
<p
|
39795
|
-
|
39796
|
-
<p>Under construction.
|
39876
|
+
<p>Under construction.
|
39797
39877
|
|
39798
39878
|
<h4 class="subsection">6.723.3 Sample code</h4>
|
39799
39879
|
|
39800
|
-
<pre class="verbatim"
|
39880
|
+
<pre class="verbatim">enum Color { RED = 1, GREEN = 2, BLUE = 4 };
|
39881
|
+
enum Season { SPRING = 1, SUMMER, AUTUMN, WINTER };
|
39882
|
+
|
39883
|
+
enum Color func(enum Season ssn)
|
39884
|
+
{
|
39885
|
+
return ssn; /* W1058 */
|
39886
|
+
}
|
39801
39887
|
</pre>
|
39802
39888
|
|
39803
39889
|
<h4 class="subsection">6.723.4 Related message</h4>
|
@@ -39819,7 +39905,7 @@ Up: <a rel="up" accesskey="u" href="#Messages">Messages</a>
|
|
39819
39905
|
|
39820
39906
|
<h4 class="subsection">6.723.5 Since</h4>
|
39821
39907
|
|
39822
|
-
<p>
|
39908
|
+
<p>1.6.0
|
39823
39909
|
|
39824
39910
|
<div class="node">
|
39825
39911
|
<a name="W1059"></a>
|
@@ -39840,13 +39926,18 @@ Up: <a rel="up" accesskey="u" href="#Messages">Messages</a>
|
|
39840
39926
|
|
39841
39927
|
<h4 class="subsection">6.724.2 Content</h4>
|
39842
39928
|
|
39843
|
-
<p
|
39844
|
-
|
39845
|
-
<p>Under construction.
|
39929
|
+
<p>Under construction.
|
39846
39930
|
|
39847
39931
|
<h4 class="subsection">6.724.3 Sample code</h4>
|
39848
39932
|
|
39849
|
-
<pre class="verbatim"
|
39933
|
+
<pre class="verbatim">enum Color { RED = 1, GREEN = 2, BLUE = 4 };
|
39934
|
+
|
39935
|
+
extern void func1(int num);
|
39936
|
+
|
39937
|
+
void func2(enum Color col)
|
39938
|
+
{
|
39939
|
+
func1(col); /* W1059 */
|
39940
|
+
}
|
39850
39941
|
</pre>
|
39851
39942
|
|
39852
39943
|
<h4 class="subsection">6.724.4 Related message</h4>
|
@@ -39868,7 +39959,7 @@ Up: <a rel="up" accesskey="u" href="#Messages">Messages</a>
|
|
39868
39959
|
|
39869
39960
|
<h4 class="subsection">6.724.5 Since</h4>
|
39870
39961
|
|
39871
|
-
<p>
|
39962
|
+
<p>1.6.0
|
39872
39963
|
|
39873
39964
|
<div class="node">
|
39874
39965
|
<a name="W1060"></a>
|
@@ -39889,13 +39980,16 @@ Up: <a rel="up" accesskey="u" href="#Messages">Messages</a>
|
|
39889
39980
|
|
39890
39981
|
<h4 class="subsection">6.725.2 Content</h4>
|
39891
39982
|
|
39892
|
-
<p
|
39893
|
-
|
39894
|
-
<p>Under construction.
|
39983
|
+
<p>Under construction.
|
39895
39984
|
|
39896
39985
|
<h4 class="subsection">6.725.3 Sample code</h4>
|
39897
39986
|
|
39898
|
-
<pre class="verbatim"
|
39987
|
+
<pre class="verbatim">enum Color { RED = 1, GREEN = 2, BLUE = 4 };
|
39988
|
+
|
39989
|
+
int func2(enum Color col)
|
39990
|
+
{
|
39991
|
+
return col; /* W1060 */
|
39992
|
+
}
|
39899
39993
|
</pre>
|
39900
39994
|
|
39901
39995
|
<h4 class="subsection">6.725.4 Related message</h4>
|
@@ -39917,7 +40011,7 @@ Up: <a rel="up" accesskey="u" href="#Messages">Messages</a>
|
|
39917
40011
|
|
39918
40012
|
<h4 class="subsection">6.725.5 Since</h4>
|
39919
40013
|
|
39920
|
-
<p>
|
40014
|
+
<p>1.6.0
|
39921
40015
|
|
39922
40016
|
<div class="node">
|
39923
40017
|
<a name="W1061"></a>
|
@@ -39938,13 +40032,18 @@ Up: <a rel="up" accesskey="u" href="#Messages">Messages</a>
|
|
39938
40032
|
|
39939
40033
|
<h4 class="subsection">6.726.2 Content</h4>
|
39940
40034
|
|
39941
|
-
<p
|
39942
|
-
|
39943
|
-
<p>Under construction.
|
40035
|
+
<p>Under construction.
|
39944
40036
|
|
39945
40037
|
<h4 class="subsection">6.726.3 Sample code</h4>
|
39946
40038
|
|
39947
|
-
<pre class="verbatim"
|
40039
|
+
<pre class="verbatim">enum Color { RED = 1, GREEN = 2, BLUE = 4 };
|
40040
|
+
|
40041
|
+
extern void func1(enum Color);
|
40042
|
+
|
40043
|
+
void func2(int num)
|
40044
|
+
{
|
40045
|
+
func1(num); /* W1061 */
|
40046
|
+
}
|
39948
40047
|
</pre>
|
39949
40048
|
|
39950
40049
|
<h4 class="subsection">6.726.4 Related message</h4>
|
@@ -39966,7 +40065,7 @@ Up: <a rel="up" accesskey="u" href="#Messages">Messages</a>
|
|
39966
40065
|
|
39967
40066
|
<h4 class="subsection">6.726.5 Since</h4>
|
39968
40067
|
|
39969
|
-
<p>
|
40068
|
+
<p>1.6.0
|
39970
40069
|
|
39971
40070
|
<div class="node">
|
39972
40071
|
<a name="W1062"></a>
|
@@ -39987,13 +40086,19 @@ Up: <a rel="up" accesskey="u" href="#Messages">Messages</a>
|
|
39987
40086
|
|
39988
40087
|
<h4 class="subsection">6.727.2 Content</h4>
|
39989
40088
|
|
39990
|
-
<p
|
39991
|
-
|
39992
|
-
<p>Under construction.
|
40089
|
+
<p>Under construction.
|
39993
40090
|
|
39994
40091
|
<h4 class="subsection">6.727.3 Sample code</h4>
|
39995
40092
|
|
39996
|
-
<
|
40093
|
+
<pre class="verbatim">enum Color { RED = 1, GREEN = 2, BLUE = 4 };
|
40094
|
+
|
40095
|
+
extern enum Color col;
|
40096
|
+
|
40097
|
+
void func(int num)
|
40098
|
+
{
|
40099
|
+
col = num + 1; /* W1062 */
|
40100
|
+
}
|
40101
|
+
</pre>
|
39997
40102
|
|
39998
40103
|
<h4 class="subsection">6.727.4 Related message</h4>
|
39999
40104
|
|
@@ -40014,7 +40119,7 @@ Up: <a rel="up" accesskey="u" href="#Messages">Messages</a>
|
|
40014
40119
|
|
40015
40120
|
<h4 class="subsection">6.727.5 Since</h4>
|
40016
40121
|
|
40017
|
-
<p>
|
40122
|
+
<p>1.6.0
|
40018
40123
|
|
40019
40124
|
<div class="node">
|
40020
40125
|
<a name="W1063"></a>
|
@@ -40035,13 +40140,16 @@ Up: <a rel="up" accesskey="u" href="#Messages">Messages</a>
|
|
40035
40140
|
|
40036
40141
|
<h4 class="subsection">6.728.2 Content</h4>
|
40037
40142
|
|
40038
|
-
<p
|
40039
|
-
|
40040
|
-
<p>Under construction.
|
40143
|
+
<p>Under construction.
|
40041
40144
|
|
40042
40145
|
<h4 class="subsection">6.728.3 Sample code</h4>
|
40043
40146
|
|
40044
|
-
<pre class="verbatim"
|
40147
|
+
<pre class="verbatim">enum Color { RED = 1, GREEN = 2, BLUE = 4 };
|
40148
|
+
|
40149
|
+
enum Color func(int num)
|
40150
|
+
{
|
40151
|
+
return num / 2; /* W1063 */
|
40152
|
+
}
|
40045
40153
|
</pre>
|
40046
40154
|
|
40047
40155
|
<h4 class="subsection">6.728.4 Related message</h4>
|
@@ -40063,7 +40171,7 @@ Up: <a rel="up" accesskey="u" href="#Messages">Messages</a>
|
|
40063
40171
|
|
40064
40172
|
<h4 class="subsection">6.728.5 Since</h4>
|
40065
40173
|
|
40066
|
-
<p>
|
40174
|
+
<p>1.6.0
|
40067
40175
|
|
40068
40176
|
<div class="node">
|
40069
40177
|
<a name="W1064"></a>
|