aboutsummaryrefslogtreecommitdiff
path: root/gcc/params.c
diff options
context:
space:
mode:
authorTamar Christina <tamar.christina@arm.com>2018-10-01 13:06:53 +0000
committerTamar Christina <tnfchris@gcc.gnu.org>2018-10-01 13:06:53 +0000
commit03ced4ab9f729cc4d5854439f136d84d1343b32d (patch)
treea8052683671f592c9b2edb6f58685170c945b8bd /gcc/params.c
parentc98f502f0ab9e51357665d7afcad724feee6088b (diff)
downloadgcc-03ced4ab9f729cc4d5854439f136d84d1343b32d.zip
gcc-03ced4ab9f729cc4d5854439f136d84d1343b32d.tar.gz
gcc-03ced4ab9f729cc4d5854439f136d84d1343b32d.tar.bz2
Allow back-ends to be able to do custom validations on params.
This patch adds the ability for backends to add custom constrains to the param values by defining a new hook option_validate_param. This hook is invoked on every set_param_value which allows the back-end to ensure that the parameters are always within it's desired state. gcc/ * params.c (set_param_value): Add index of parameter being validated. * common/common-target.def (option_validate_param): New. * common/common-targhooks.h (default_option_validate_param): New. * common/common-targhooks.c (default_option_validate_param): New. * doc/tm.texi.in (TARGET_OPTION_VALIDATE_PARAM): New. * doc/tm.texi: Regenerate. From-SVN: r264755
Diffstat (limited to 'gcc/params.c')
-rw-r--r--gcc/params.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/gcc/params.c b/gcc/params.c
index 623296c..eb663be 100644
--- a/gcc/params.c
+++ b/gcc/params.c
@@ -209,7 +209,7 @@ set_param_value (const char *name, int value,
error ("maximum value of parameter %qs is %u",
compiler_params[i].option,
compiler_params[i].max_value);
- else
+ else if (targetm_common.option_validate_param (value, (int)i))
set_param_value_internal ((compiler_param) i, value,
params, params_set, true);
}