Commit e88a9384 by Martin Liska Committed by Martin Liska

Validate that Init value is within range defined by IntegerRange.

2017-07-27  Martin Liska  <mliska@suse.cz>

	* opt-functions.awk: Add validation of value of Init.
	* optc-gen.awk: Pass new argument.

From-SVN: r250625
parent a7faf57b
......@@ -5,6 +5,11 @@
2017-07-27 Martin Liska <mliska@suse.cz>
* opt-functions.awk: Add validation of value of Init.
* optc-gen.awk: Pass new argument.
2017-07-27 Martin Liska <mliska@suse.cz>
* auto-profile.c (autofdo_source_profile::update_inlined_ind_target):
Fix wrong condition.
......
......@@ -314,11 +314,13 @@ function search_var_name(name, opt_numbers, opts, flags, n_opts)
return ""
}
function integer_range_info(range_option)
function integer_range_info(range_option, init, option)
{
if (range_option != "") {
start = nth_arg(0, range_option);
end = nth_arg(1, range_option);
if (init != "" && init != "-1" && (init < start || init > end))
print "#error initial value " init " of '" option "' must be in range [" start "," end "]"
return start ", " end
}
else
......
......@@ -400,7 +400,8 @@ for (i = 0; i < n_opts; i++) {
" 0, %s,\n",
cl_flags, cl_bit_fields)
printf(" %s, %s, %s }%s\n", var_ref(opts[i], flags[i]),
var_set(flags[i]), integer_range_info(opt_args("IntegerRange", flags[i])), comma)
var_set(flags[i]), integer_range_info(opt_args("IntegerRange", flags[i]),
opt_args("Init", flags[i]), opts[i]), comma)
}
print "};"
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment