https://gcc.gnu.org/bugzilla/show_bug.cgi?id=57195
Michael Collison <michael.collison at linaro dot org> changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |michael.collison at linaro dot org --- Comment #3 from Michael Collison <michael.collison at linaro dot org> --- I recently ran into this problem. This patch appears to resolve the issue: diff --git a/gcc/read-md.c b/gcc/read-md.c index 9f158ec..df5748f 100644 --- a/gcc/read-md.c +++ b/gcc/read-md.c @@ -399,16 +399,24 @@ read_name (struct md_name *name) { int c; size_t i; + int in_angle_bracket; c = read_skip_spaces (); i = 0; + in_angle_bracket = 0; while (1) { + if (c == '<') + in_angle_bracket = 1; + + if (c == '>') + in_angle_bracket = 0; + if (c == ' ' || c == '\n' || c == '\t' || c == '\f' || c == '\r' || c == EOF) break; - if (c == ':' || c == ')' || c == ']' || c == '"' || c == '/' + if (((c == ':') and (in_angle_bracket == 0)) || c == ')' || c == ']' || c == '"' || c == '/' || c == '(' || c == '[') { unread_char (c);