Cthulhu  0.2.10
Cthulhu compiler collection
ctu.inc
Go to the documentation of this file.
1 // SPDX-License-Identifier: GPL-3.0-only
2 
3 #ifndef NEW_EVENT
4 # define NEW_EVENT(id, ...)
5 #endif
6 
7 NEW_EVENT(DuplicateDefaultCases, {
8  .severity = eSeverityFatal,
9  .id = "CTU0001",
10  .brief = "duplicate default cases",
11  .description =
12  "enum has multiple default cases.\n"
13  "Enums are only allowed to have one or zero default cases.\n",
14 })
15 
16 NEW_EVENT(InvalidDereference, {
17  .severity = eSeverityFatal,
18  .id = "CTU0002",
19  .brief = "invalid dereference",
20  .description =
21  "invalid dereference.\n"
22  "You can only dereference pointers.\n",
23 })
24 
25 NEW_EVENT(EmptyAggregate, {
26  .severity = eSeverityFatal,
27  .id = "CTU0003",
28  .brief = "empty aggregate",
29  .description =
30  "empty aggregate.\n"
31  "Aggregates must have at least one member.\n",
32 })
33 
34 #undef NEW_EVENT
35 
36 #ifndef DECL_TAG
37 # define DECL_TAG(id, val, name)
38 #endif
39 
40 DECL_TAG(eCtuTagValues, = eSemaValues, "values")
41 DECL_TAG(eCtuTagTypes, = eSemaTypes, "types")
42 DECL_TAG(eCtuTagFunctions, = eSemaProcs, "functions")
43 DECL_TAG(eCtuTagModules, = eSemaModules, "modules")
44 DECL_TAG(eCtuTagImports, /* empty */, "imports")
45 DECL_TAG(eCtuTagAttribs, /* empty */, "attributes")
46 DECL_TAG(eCtuTagSuffixes, /* empty */, "suffixes")
47 DECL_TAG(eCtuTagLabels, /* empty */, "labels")
48 
49 #undef DECL_TAG
#define DECL_TAG(id, val, name)
Definition: ctu.inc:37
#define NEW_EVENT(id,...)
Definition: ctu.inc:4
@ eSemaValues
Definition: tree.h:36
@ eSemaProcs
Definition: tree.h:42
@ eSemaModules
Definition: tree.h:45
@ eSemaTypes
Definition: tree.h:39