Message ID | 20181002125511.GA24481@arm.com |
---|---|
State | New |
Headers | show |
Series | [front-end,opt-framework] Remove superfluous assignment in add_params. | expand |
On 10/2/18 6:55 AM, Tamar Christina wrote: > Hi All, > > This fixes the superfluous assignment that Coverity reported in add_params, > and changes the starting index from 0 to num_params - n in order for it to > work properly if add_params is called multiple times. > > validate_params calls error so it doesn't matter that we don't check the > results here. The results is checked in individual parameter updates after > front-end initialization. > > bootstrapped and reg-tested on aarch64-none-linux-gnu and no issues. > bootstrapped x86_64-pc-linux-gnu and no issues. > > Manually modified params.def to contain invalid values and code still works > as expected. Manually passed invalid params and still errors out doing target > specific validations. Testsuite also has existing validation tests. > > Ok for trunk? > > Thanks, > Tamar > > gcc/: > 2018-10-02 Tamar Christina <tamar.christina@arm.com> > > * params.c (add_params): Fix initialization. > OK jeff
diff --git a/gcc/params.c b/gcc/params.c index b6a33dfd6bf8c4df43fdac91e30ac6d082f39071..af473968e0b65a99d9ee179356c96bbfdadb46e7 100644 --- a/gcc/params.c +++ b/gcc/params.c @@ -87,12 +87,10 @@ add_params (const param_info params[], size_t n) if (!diagnostic_ready_p ()) diagnostic_initialize (global_dc, 0); - /* Now perform some validation and set the value if it validates. */ - for (size_t i = 0; i < n; i++) - { - if (validate_param (dst_params[i].default_value, dst_params[i], (int)i)) - dst_params[i].default_value = dst_params[i].default_value; - } + /* Now perform some validation and validation failures trigger an error so + initialization will stop. */ + for (size_t i = num_compiler_params - n; i < n; i++) + validate_param (params[i].default_value, params[i], (int)i); } /* Add all parameters and default values that can be set in both the