* src/warning.c: Ditto.
* tests/scripts/options/warn: Fix tests for the new order.
static const char *w_action_map[w_error+1] = {NULL, "ignore", "warn", "error"};
static const char *w_name_map[wt_max] = {
- "invalid-var",
+ "circular-dep",
"invalid-ref",
- "undefined-var",
- "circular-dep"
+ "invalid-var",
+ "undefined-var"
};
#define encode_warn_action(_b,_s) \
/* All warnings must have a default. */
warn_default.global = w_warn;
- warn_default.actions[wt_invalid_var] = w_warn;
+ warn_default.actions[wt_circular_dep] = w_warn;
warn_default.actions[wt_invalid_ref] = w_warn;
+ warn_default.actions[wt_invalid_var] = w_warn;
warn_default.actions[wt_undefined_var] = w_ignore;
- warn_default.actions[wt_circular_dep] = w_warn;
set_warnings ();
}
init_data (struct warning_data *data)
{
data->global = w_unset;
- for (enum warning_type wt = wt_invalid_var; wt < wt_max; ++wt)
+ for (enum warning_type wt = 0; wt < wt_max; ++wt)
data->actions[wt] = w_unset;
}
static enum warning_type
decode_warn_name (const char *name, size_t length)
{
- for (enum warning_type wt = wt_invalid_var; wt < wt_max; ++wt)
+ for (enum warning_type wt = 0; wt < wt_max; ++wt)
{
size_t len = strlen (w_name_map[wt]);
if (length == len && strncasecmp (name, w_name_map[wt], length) == 0)
You should have received a copy of the GNU General Public License along with
this program. If not, see <https://www.gnu.org/licenses/>. */
-/* Types of warnings we can show. */
+/* Types of warnings we can show.
+ These can be rearranged but the first value must be 0. */
enum warning_type
{
- wt_invalid_var = 0, /* Assign to an invalid variable name. */
- wt_invalid_ref, /* Reference an invalid variable name. */
- wt_undefined_var, /* Reference an undefined variable name. */
- wt_circular_dep, /* A target depends on itself. */
+ wt_circular_dep = 0, /* A target depends on itself. */
+ wt_invalid_ref, /* Reference an invalid variable name. */
+ wt_invalid_var, /* Assign to an invalid variable name. */
+ wt_undefined_var, /* Reference an undefined variable name. */
wt_max
};
-/* Action taken for a given warning. */
+/* Action taken for a given warning. Unset must be 0. */
enum warning_action
{
w_unset = 0,
my %warn_test = (
'--warn' => '', '--warn=warn' => '', '--warn=error --warn=warn' => '',
'--warn --warn=error' => '=error',
- '--warn=ignore --warn=error --warn=ignore --warn=invalid-var,invalid-ref,undefined-var' => '=ignore,invalid-var,invalid-ref,undefined-var',
- '--warn=invalid-ref:ignore --warn=error --warn=invalid-var:warn,,,,,undefined-var:error,,,,,' => '=error,invalid-var,invalid-ref:ignore,undefined-var:error'
+ '--warn=ignore --warn=error --warn=ignore --warn=invalid-ref,invalid-var,undefined-var' => '=ignore,invalid-ref,invalid-var,undefined-var',
+ '--warn=invalid-ref:ignore --warn=error --warn=invalid-var:warn,,,,,undefined-var:error,,,,,' => '=error,invalid-ref:ignore,invalid-var,undefined-var:error'
);
# Verify the deprecated --warn-undefined-variables option