diff options
author | H.J. Lu <hongjiu.lu@intel.com> | 2012-03-27 15:28:41 +0000 |
---|---|---|
committer | H.J. Lu <hjl@gcc.gnu.org> | 2012-03-27 08:28:41 -0700 |
commit | 1ad36b7eaa2303e141c3f020a90b9c68a49963eb (patch) | |
tree | 082df1a6e4de30b116ee7f94baaed1cd0c500910 /gcc/opth-gen.awk | |
parent | 4f867aee5d7bc17131fe12774db767942b83a738 (diff) | |
download | gcc-1ad36b7eaa2303e141c3f020a90b9c68a49963eb.zip gcc-1ad36b7eaa2303e141c3f020a90b9c68a49963eb.tar.gz gcc-1ad36b7eaa2303e141c3f020a90b9c68a49963eb.tar.bz2 |
Remove MaskNeeded
2012-03-27 H.J. Lu <hongjiu.lu@intel.com>
* opth-gen.awk: Allocated a bit for Mask and InverseMask if it
hasn't been allocated. Define a target macro for Mask and
InverseMask if it hasn't been defined. Remove MaskExists
handling.
* doc/options.texi: Remove MaskNeeded.
From-SVN: r185882
Diffstat (limited to 'gcc/opth-gen.awk')
-rw-r--r-- | gcc/opth-gen.awk | 50 |
1 files changed, 34 insertions, 16 deletions
diff --git a/gcc/opth-gen.awk b/gcc/opth-gen.awk index 541bc3e..9a7b6c3 100644 --- a/gcc/opth-gen.awk +++ b/gcc/opth-gen.awk @@ -298,16 +298,25 @@ print ""; for (i = 0; i < n_opts; i++) { name = opt_args("Mask", flags[i]) - vname = var_name(flags[i]) - mask = "MASK_" - mask_1 = "1" - if (vname != "") { - mask = "OPTION_MASK_" - if (host_wide_int[vname] == "yes") - mask_1 = "HOST_WIDE_INT_1" + if (name == "") { + opt = opt_args("InverseMask", flags[i]) + if (opt ~ ",") + name = nth_arg(0, opt) + else + name = opt } - if (name != "" && !flag_set_p("MaskExists", flags[i])) + if (name != "" && mask_bits[name] == 0) { + mask_bits[name] = 1 + vname = var_name(flags[i]) + mask = "MASK_" + mask_1 = "1" + if (vname != "") { + mask = "OPTION_MASK_" + if (host_wide_int[vname] == "yes") + mask_1 = "HOST_WIDE_INT_1" + } print "#define " mask name " (" mask_1 " << " masknum[vname]++ ")" + } } for (i = 0; i < n_extra_masks; i++) { print "#define MASK_" extra_masks[i] " (1 << " masknum[""]++ ")" @@ -330,17 +339,26 @@ print "" for (i = 0; i < n_opts; i++) { name = opt_args("Mask", flags[i]) - vname = var_name(flags[i]) - macro = "OPTION_" - mask = "OPTION_MASK_" - if (vname == "") { - vname = "target_flags" - macro = "TARGET_" - mask = "MASK_" + if (name == "") { + opt = opt_args("InverseMask", flags[i]) + if (opt ~ ",") + name = nth_arg(0, opt) + else + name = opt } - if (name != "" && !flag_set_p("MaskExists", flags[i])) + if (name != "" && mask_macros[name] == 0) { + mask_macros[name] = 1 + vname = var_name(flags[i]) + macro = "OPTION_" + mask = "OPTION_MASK_" + if (vname == "") { + vname = "target_flags" + macro = "TARGET_" + mask = "MASK_" + } print "#define " macro name \ " ((" vname " & " mask name ") != 0)" + } } for (i = 0; i < n_extra_masks; i++) { print "#define TARGET_" extra_masks[i] \ |