6376f0
driver: added context initialization for --warnings.
@@ -57,6 +57,13 @@ enum slbt_tag {
|
|
57
57
|
SLBT_TAG_CXX,
|
58
58
|
};
|
59
59
|
|
60
|
+
enum slbt_warning_level {
|
61
|
+
SLBT_WARNING_LEVEL_UNKNOWN,
|
62
|
+
SLBT_WARNING_LEVEL_ALL,
|
63
|
+
SLBT_WARNING_LEVEL_ERROR,
|
64
|
+
SLBT_WARNING_LEVEL_NONE,
|
65
|
+
};
|
66
|
+
|
60
67
|
/* unit action flags */
|
61
68
|
|
62
69
|
struct slbt_input {
|
@@ -70,6 +77,7 @@ struct slbt_common_ctx {
|
|
70
77
|
uint64_t fmtflags;
|
71
78
|
enum slbt_mode mode;
|
72
79
|
enum slbt_tag tag;
|
80
|
+
enum slbt_warning_level warnings;
|
73
81
|
};
|
74
82
|
|
75
83
|
struct slbt_driver_ctx {
|
@@ -174,6 +174,17 @@ int slbt_get_driver_ctx(
|
|
174
174
|
case TAG_FEATURES:
|
175
175
|
cctx.drvflags |= SLBT_DRIVER_FEATURES;
|
176
176
|
break;
|
177
|
+
|
178
|
+
case TAG_WARNINGS:
|
179
|
+
if (!strcmp("all",entry->arg))
|
180
|
+
cctx.tag = SLBT_WARNING_LEVEL_ALL;
|
181
|
+
|
182
|
+
else if (!strcmp("error",entry->arg))
|
183
|
+
cctx.tag = SLBT_WARNING_LEVEL_ERROR;
|
184
|
+
|
185
|
+
else if (!strcmp("none",entry->arg))
|
186
|
+
cctx.tag = SLBT_WARNING_LEVEL_NONE;
|
187
|
+
break;
|
177
188
|
}
|
178
189
|
} else
|
179
190
|
nunits++;
|