From eefdb8e68448cced1ca01833d776c968fb10265e Mon Sep 17 00:00:00 2001 From: "H.J. Lu" Date: Mon, 23 Apr 2012 23:32:54 +0000 Subject: Check if MASK_/TARGET_ macros defined for extra_masks 2012-04-23 H.J. Lu PR bootstrap/52878 * opth-gen.awk: Check if MASK_ and TARGET_ macros are defined for extra_masks. From-SVN: r186729 --- gcc/ChangeLog | 6 ++++++ gcc/opth-gen.awk | 12 ++++++++---- 2 files changed, 14 insertions(+), 4 deletions(-) (limited to 'gcc') 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 + + PR bootstrap/52878 + * opth-gen.awk: Check if MASK_ and TARGET_ macros are defined for + extra_masks. + 2012-04-23 Uros Bizjak * config/i386/i386.md (*add_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 "" -- cgit v1.1