diff options
author | H.J. Lu <hongjiu.lu@intel.com> | 2012-04-23 23:32:54 +0000 |
---|---|---|
committer | H.J. Lu <hjl@gcc.gnu.org> | 2012-04-23 16:32:54 -0700 |
commit | eefdb8e68448cced1ca01833d776c968fb10265e (patch) | |
tree | a2207e94c4695b5f74f948b92d008cdbb2f0f16c | |
parent | 1ec20ea138a66e277f503fa627c9760348a23ce2 (diff) | |
download | gcc-eefdb8e68448cced1ca01833d776c968fb10265e.zip gcc-eefdb8e68448cced1ca01833d776c968fb10265e.tar.gz gcc-eefdb8e68448cced1ca01833d776c968fb10265e.tar.bz2 |
Check if MASK_/TARGET_ macros defined for extra_masks
2012-04-23 H.J. Lu <hongjiu.lu@intel.com>
PR bootstrap/52878
* opth-gen.awk: Check if MASK_ and TARGET_ macros are defined for
extra_masks.
From-SVN: r186729
-rw-r--r-- | gcc/ChangeLog | 6 | ||||
-rw-r--r-- | gcc/opth-gen.awk | 12 |
2 files changed, 14 insertions, 4 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 6334c59..e1daace 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,9 @@ +2012-04-23 H.J. Lu <hongjiu.lu@intel.com> + + PR bootstrap/52878 + * opth-gen.awk: Check if MASK_ and TARGET_ macros are defined for + extra_masks. + 2012-04-23 Uros Bizjak <ubizjak@gmail.com> * config/i386/i386.md (*add<mode>_2): Add r/r/0 alternative. diff --git a/gcc/opth-gen.awk b/gcc/opth-gen.awk index 9a7b6c3..a600b30 100644 --- a/gcc/opth-gen.awk +++ b/gcc/opth-gen.awk @@ -314,12 +314,14 @@ for (i = 0; i < n_opts; i++) { mask = "OPTION_MASK_" if (host_wide_int[vname] == "yes") mask_1 = "HOST_WIDE_INT_1" - } + } else + extra_mask_bits[name] = 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[""]++ ")" + if (extra_mask_bits[extra_masks[i]] == 0) + print "#define MASK_" extra_masks[i] " (1 << " masknum[""]++ ")" } for (var in masknum) { @@ -355,14 +357,16 @@ for (i = 0; i < n_opts; i++) { vname = "target_flags" macro = "TARGET_" mask = "MASK_" + extra_mask_macros[name] = 1 } print "#define " macro name \ " ((" vname " & " mask name ") != 0)" } } for (i = 0; i < n_extra_masks; i++) { - print "#define TARGET_" extra_masks[i] \ - " ((target_flags & MASK_" extra_masks[i] ") != 0)" + if (extra_mask_macros[extra_masks[i]] == 0) + print "#define TARGET_" extra_masks[i] \ + " ((target_flags & MASK_" extra_masks[i] ") != 0)" } print "" |