Commit 117fdbfa by Joseph Myers Committed by Joseph Myers

sh.c (sh_handle_option): Access target_flags via opts pointer.

	* config/sh/sh.c (sh_handle_option): Access target_flags via opts
	pointer.  Don't assert that global structures are in use.

From-SVN: r171326
parent d715091c
2011-03-22 Joseph Myers <joseph@codesourcery.com> 2011-03-22 Joseph Myers <joseph@codesourcery.com>
* config/sh/sh.c (sh_handle_option): Access target_flags via opts
pointer. Don't assert that global structures are in use.
2011-03-22 Joseph Myers <joseph@codesourcery.com>
* config/pdp11/pdp11.c (pdp11_handle_option): Access target_flags * config/pdp11/pdp11.c (pdp11_handle_option): Access target_flags
via opts pointer. Don't assert that global structures are in use. via opts pointer. Don't assert that global structures are in use.
......
...@@ -606,58 +606,59 @@ struct gcc_target targetm = TARGET_INITIALIZER; ...@@ -606,58 +606,59 @@ struct gcc_target targetm = TARGET_INITIALIZER;
/* Implement TARGET_HANDLE_OPTION. */ /* Implement TARGET_HANDLE_OPTION. */
static bool static bool
sh_handle_option (struct gcc_options *opts, struct gcc_options *opts_set, sh_handle_option (struct gcc_options *opts,
struct gcc_options *opts_set ATTRIBUTE_UNUSED,
const struct cl_decoded_option *decoded, const struct cl_decoded_option *decoded,
location_t loc ATTRIBUTE_UNUSED) location_t loc ATTRIBUTE_UNUSED)
{ {
size_t code = decoded->opt_index; size_t code = decoded->opt_index;
gcc_assert (opts == &global_options);
gcc_assert (opts_set == &global_options_set);
switch (code) switch (code)
{ {
case OPT_m1: case OPT_m1:
target_flags = (target_flags & ~MASK_ARCH) | SELECT_SH1; opts->x_target_flags = (opts->x_target_flags & ~MASK_ARCH) | SELECT_SH1;
return true; return true;
case OPT_m2: case OPT_m2:
target_flags = (target_flags & ~MASK_ARCH) | SELECT_SH2; opts->x_target_flags = (opts->x_target_flags & ~MASK_ARCH) | SELECT_SH2;
return true; return true;
case OPT_m2a: case OPT_m2a:
target_flags = (target_flags & ~MASK_ARCH) | SELECT_SH2A; opts->x_target_flags = (opts->x_target_flags & ~MASK_ARCH) | SELECT_SH2A;
return true; return true;
case OPT_m2a_nofpu: case OPT_m2a_nofpu:
target_flags = (target_flags & ~MASK_ARCH) | SELECT_SH2A_NOFPU; opts->x_target_flags
= (opts->x_target_flags & ~MASK_ARCH) | SELECT_SH2A_NOFPU;
return true; return true;
case OPT_m2a_single: case OPT_m2a_single:
target_flags = (target_flags & ~MASK_ARCH) | SELECT_SH2A_SINGLE; opts->x_target_flags
= (opts->x_target_flags & ~MASK_ARCH) | SELECT_SH2A_SINGLE;
return true; return true;
case OPT_m2a_single_only: case OPT_m2a_single_only:
target_flags = (target_flags & ~MASK_ARCH) | SELECT_SH2A_SINGLE_ONLY; opts->x_target_flags
= (opts->x_target_flags & ~MASK_ARCH) | SELECT_SH2A_SINGLE_ONLY;
return true; return true;
case OPT_m2e: case OPT_m2e:
target_flags = (target_flags & ~MASK_ARCH) | SELECT_SH2E; opts->x_target_flags = (opts->x_target_flags & ~MASK_ARCH) | SELECT_SH2E;
return true; return true;
case OPT_m3: case OPT_m3:
target_flags = (target_flags & ~MASK_ARCH) | SELECT_SH3; opts->x_target_flags = (opts->x_target_flags & ~MASK_ARCH) | SELECT_SH3;
return true; return true;
case OPT_m3e: case OPT_m3e:
target_flags = (target_flags & ~MASK_ARCH) | SELECT_SH3E; opts->x_target_flags = (opts->x_target_flags & ~MASK_ARCH) | SELECT_SH3E;
return true; return true;
case OPT_m4: case OPT_m4:
case OPT_m4_100: case OPT_m4_100:
case OPT_m4_200: case OPT_m4_200:
case OPT_m4_300: case OPT_m4_300:
target_flags = (target_flags & ~MASK_ARCH) | SELECT_SH4; opts->x_target_flags = (opts->x_target_flags & ~MASK_ARCH) | SELECT_SH4;
return true; return true;
case OPT_m4_nofpu: case OPT_m4_nofpu:
...@@ -667,62 +668,74 @@ sh_handle_option (struct gcc_options *opts, struct gcc_options *opts_set, ...@@ -667,62 +668,74 @@ sh_handle_option (struct gcc_options *opts, struct gcc_options *opts_set,
case OPT_m4_340: case OPT_m4_340:
case OPT_m4_400: case OPT_m4_400:
case OPT_m4_500: case OPT_m4_500:
target_flags = (target_flags & ~MASK_ARCH) | SELECT_SH4_NOFPU; opts->x_target_flags
= (opts->x_target_flags & ~MASK_ARCH) | SELECT_SH4_NOFPU;
return true; return true;
case OPT_m4_single: case OPT_m4_single:
case OPT_m4_100_single: case OPT_m4_100_single:
case OPT_m4_200_single: case OPT_m4_200_single:
case OPT_m4_300_single: case OPT_m4_300_single:
target_flags = (target_flags & ~MASK_ARCH) | SELECT_SH4_SINGLE; opts->x_target_flags
= (opts->x_target_flags & ~MASK_ARCH) | SELECT_SH4_SINGLE;
return true; return true;
case OPT_m4_single_only: case OPT_m4_single_only:
case OPT_m4_100_single_only: case OPT_m4_100_single_only:
case OPT_m4_200_single_only: case OPT_m4_200_single_only:
case OPT_m4_300_single_only: case OPT_m4_300_single_only:
target_flags = (target_flags & ~MASK_ARCH) | SELECT_SH4_SINGLE_ONLY; opts->x_target_flags
= (opts->x_target_flags & ~MASK_ARCH) | SELECT_SH4_SINGLE_ONLY;
return true; return true;
case OPT_m4a: case OPT_m4a:
target_flags = (target_flags & ~MASK_ARCH) | SELECT_SH4A; opts->x_target_flags = (opts->x_target_flags & ~MASK_ARCH) | SELECT_SH4A;
return true; return true;
case OPT_m4a_nofpu: case OPT_m4a_nofpu:
case OPT_m4al: case OPT_m4al:
target_flags = (target_flags & ~MASK_ARCH) | SELECT_SH4A_NOFPU; opts->x_target_flags
= (opts->x_target_flags & ~MASK_ARCH) | SELECT_SH4A_NOFPU;
return true; return true;
case OPT_m4a_single: case OPT_m4a_single:
target_flags = (target_flags & ~MASK_ARCH) | SELECT_SH4A_SINGLE; opts->x_target_flags
= (opts->x_target_flags & ~MASK_ARCH) | SELECT_SH4A_SINGLE;
return true; return true;
case OPT_m4a_single_only: case OPT_m4a_single_only:
target_flags = (target_flags & ~MASK_ARCH) | SELECT_SH4A_SINGLE_ONLY; opts->x_target_flags
= (opts->x_target_flags & ~MASK_ARCH) | SELECT_SH4A_SINGLE_ONLY;
return true; return true;
case OPT_m5_32media: case OPT_m5_32media:
target_flags = (target_flags & ~MASK_ARCH) | SELECT_SH5_32MEDIA; opts->x_target_flags
= (opts->x_target_flags & ~MASK_ARCH) | SELECT_SH5_32MEDIA;
return true; return true;
case OPT_m5_32media_nofpu: case OPT_m5_32media_nofpu:
target_flags = (target_flags & ~MASK_ARCH) | SELECT_SH5_32MEDIA_NOFPU; opts->x_target_flags
= (opts->x_target_flags & ~MASK_ARCH) | SELECT_SH5_32MEDIA_NOFPU;
return true; return true;
case OPT_m5_64media: case OPT_m5_64media:
target_flags = (target_flags & ~MASK_ARCH) | SELECT_SH5_64MEDIA; opts->x_target_flags
= (opts->x_target_flags & ~MASK_ARCH) | SELECT_SH5_64MEDIA;
return true; return true;
case OPT_m5_64media_nofpu: case OPT_m5_64media_nofpu:
target_flags = (target_flags & ~MASK_ARCH) | SELECT_SH5_64MEDIA_NOFPU; opts->x_target_flags
= (opts->x_target_flags & ~MASK_ARCH) | SELECT_SH5_64MEDIA_NOFPU;
return true; return true;
case OPT_m5_compact: case OPT_m5_compact:
target_flags = (target_flags & ~MASK_ARCH) | SELECT_SH5_COMPACT; opts->x_target_flags
= (opts->x_target_flags & ~MASK_ARCH) | SELECT_SH5_COMPACT;
return true; return true;
case OPT_m5_compact_nofpu: case OPT_m5_compact_nofpu:
target_flags = (target_flags & ~MASK_ARCH) | SELECT_SH5_COMPACT_NOFPU; opts->x_target_flags
= (opts->x_target_flags & ~MASK_ARCH) | SELECT_SH5_COMPACT_NOFPU;
return true; return true;
default: default:
......
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