summaryrefslogtreecommitdiff
path: root/gcc/genattrtab.c
diff options
context:
space:
mode:
authorbstarynk <bstarynk@138bc75d-0d04-0410-961f-82ee72b054a4>2011-08-25 19:29:43 +0000
committerbstarynk <bstarynk@138bc75d-0d04-0410-961f-82ee72b054a4>2011-08-25 19:29:43 +0000
commit46dfcc3ee85a4a02abce4d45ee619f240c116af6 (patch)
tree6c3dc3d53cd17d62447673b81abbcfc69bacd2f3 /gcc/genattrtab.c
parent2a8624373adc103f943e22e781c2d6fadb828eae (diff)
downloadgcc-46dfcc3ee85a4a02abce4d45ee619f240c116af6.tar.gz
2011-08-25 Basile Starynkevitch <basile@starynkevitch.net>
MELT branch merged with trunk rev 178073 using svnmerge. 2011-08-25 Basile Starynkevitch <basile@starynkevitch.net> * gcc/melt-runtime.c (melt_linemap_compute_current_location): Use the linemap_position_for_column function for GCC 4.7 when merging with GCC trunk rev 178073. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/melt-branch@178087 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/genattrtab.c')
-rw-r--r--gcc/genattrtab.c9
1 files changed, 5 insertions, 4 deletions
diff --git a/gcc/genattrtab.c b/gcc/genattrtab.c
index e927ca2492c..a3da97868a9 100644
--- a/gcc/genattrtab.c
+++ b/gcc/genattrtab.c
@@ -114,6 +114,7 @@ along with GCC; see the file COPYING3. If not see
#include "read-md.h"
#include "gensupport.h"
#include "vecprim.h"
+#include "fnmatch.h"
/* Flags for make_internal_attr's `special' parameter. */
#define ATTR_NONE 0
@@ -4553,7 +4554,7 @@ gen_insn_reserv (rtx def)
struct bypass_list
{
struct bypass_list *next;
- const char *insn;
+ const char *pattern;
};
static struct bypass_list *all_bypasses;
@@ -4569,11 +4570,11 @@ gen_bypass_1 (const char *s, size_t len)
s = attr_string (s, len);
for (b = all_bypasses; b; b = b->next)
- if (s == b->insn)
+ if (s == b->pattern)
return; /* already got that one */
b = oballoc (struct bypass_list);
- b->insn = s;
+ b->pattern = s;
b->next = all_bypasses;
all_bypasses = b;
n_bypasses++;
@@ -4607,7 +4608,7 @@ process_bypasses (void)
list. */
for (r = all_insn_reservs; r; r = r->next)
for (b = all_bypasses; b; b = b->next)
- if (r->name == b->insn)
+ if (fnmatch (b->pattern, r->name, 0) == 0)
r->bypassed = true;
}