* config/m32c/m32c.c: Don't include opts.h.
(target_memregs, target_memregs_set, TARGET_HANDLE_OPTION,
m32c_handle_option): Remove.
(m32c_option_override): Check global_options_set.x_target_memregs
instead of target_memregs_set.
* config/m32c/m32c.h (target_memregs): Remove.
* config/m32c/m32c.opt (memregs=): Use UInteger with integer
variable.
From-SVN: r171320
+2011-03-22 Joseph Myers <joseph@codesourcery.com>
+
+ * config/m32c/m32c.c: Don't include opts.h.
+ (target_memregs, target_memregs_set, TARGET_HANDLE_OPTION,
+ m32c_handle_option): Remove.
+ (m32c_option_override): Check global_options_set.x_target_memregs
+ instead of target_memregs_set.
+ * config/m32c/m32c.h (target_memregs): Remove.
+ * config/m32c/m32c.opt (memregs=): Use UInteger with integer
+ variable.
+
2011-03-22 Joseph Myers <joseph@codesourcery.com>
* config/iq2000/iq2000-opts.h: New.
#include "langhooks.h"
#include "gimple.h"
#include "df.h"
-#include "opts.h"
/* Prototypes */
Memregs are provided by m32c-lib1.S.
*/
-int target_memregs = 16;
-static bool target_memregs_set = FALSE;
int ok_to_change_target_memregs = TRUE;
-#undef TARGET_HANDLE_OPTION
-#define TARGET_HANDLE_OPTION m32c_handle_option
-static bool
-m32c_handle_option (struct gcc_options *opts, struct gcc_options *opts_set,
- const struct cl_decoded_option *decoded,
- location_t loc ATTRIBUTE_UNUSED)
-{
- size_t code = decoded->opt_index;
- const char *arg = decoded->arg;
-
- gcc_assert (opts == &global_options);
- gcc_assert (opts_set == &global_options_set);
-
- if (code == OPT_memregs_)
- {
- target_memregs_set = TRUE;
- target_memregs = atoi (arg);
- }
- return TRUE;
-}
-
/* Implements TARGET_OPTION_OVERRIDE. */
#undef TARGET_OPTION_OVERRIDE
m32c_option_override (void)
{
/* We limit memregs to 0..16, and provide a default. */
- if (target_memregs_set)
+ if (global_options_set.x_target_memregs)
{
if (target_memregs < 0 || target_memregs > 16)
error ("invalid target memregs value '%d'", target_memregs);
beginning of the file. This variable starts off TRUE and later
becomes FALSE. */
extern int ok_to_change_target_memregs;
-extern int target_memregs;
/* TARGET_CPU is a multi-way option set in m32c.opt. While we could
use enums or defines for this, this and m32c.opt are the only
; Target Options for R8C/M16C/M32C
-; Copyright (C) 2005 2007
+; Copyright (C) 2005, 2007, 2011
; Free Software Foundation, Inc.
; Contributed by Red Hat.
;
-mcpu=m32c Compile code for M32C variants
memregs=
-Target RejectNegative Joined Var(target_memregs_string)
+Target RejectNegative Joined UInteger Var(target_memregs) Init(16)
-memregs= Number of memreg bytes (default: 16, range: 0..16)