X-Git-Url: http://git.sourceforge.jp/view?a=blobdiff_plain;f=gcc%2Fparams.c;h=40daae77a097f183cc86f7ac48980b687adac06a;hb=64c79f42958048e796444491ed2be87aa4462590;hp=b0dc375ae4a911bbf59397d5eddd43309066e6d9;hpb=0ba508e460fe5f7205b3eee5ca0596169e5b003b;p=pf3gnuchains%2Fgcc-fork.git diff --git a/gcc/params.c b/gcc/params.c index b0dc375ae4a..40daae77a09 100644 --- a/gcc/params.c +++ b/gcc/params.c @@ -1,5 +1,5 @@ /* params.c - Run-time parameters. - Copyright (C) 2001, 2003, 2004 Free Software Foundation, Inc. + Copyright (C) 2001, 2003, 2004, 2005 Free Software Foundation, Inc. Written by Mark Mitchell . This file is part of GCC. @@ -16,8 +16,8 @@ for more details. You should have received a copy of the GNU General Public License along with GCC; see the file COPYING. If not, write to the Free -Software Foundation, 59 Temple Place - Suite 330, Boston, MA -02111-1307, USA. +Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA +02110-1301, USA. */ @@ -61,14 +61,23 @@ set_param_value (const char *name, int value) size_t i; /* Make sure nobody tries to set a parameter to an invalid value. */ - if (value == INVALID_PARAM_VAL) - abort (); + gcc_assert (value != INVALID_PARAM_VAL); /* Scan the parameter table to find a matching entry. */ for (i = 0; i < num_compiler_params; ++i) if (strcmp (compiler_params[i].option, name) == 0) { - compiler_params[i].value = value; + if (value < compiler_params[i].min_value) + error ("minimum value of parameter %qs is %u", + compiler_params[i].option, + compiler_params[i].min_value); + else if (compiler_params[i].max_value > compiler_params[i].min_value + && value > compiler_params[i].max_value) + error ("maximum value of parameter %qs is %u", + compiler_params[i].option, + compiler_params[i].max_value); + else + compiler_params[i].value = value; return; }