diff options
Diffstat (limited to 'gdb/ada-lex.l')
-rw-r--r-- | gdb/ada-lex.l | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/gdb/ada-lex.l b/gdb/ada-lex.l index a0c9816..c6ce1ae 100644 --- a/gdb/ada-lex.l +++ b/gdb/ada-lex.l @@ -227,7 +227,7 @@ false { return FALSEKEYWORD; } /* ATTRIBUTES */ -{TICK}[a-z][a-z_]+ { BEGIN INITIAL; return processAttribute (yytext+1); } +{TICK}[a-z][a-z_]+ { BEGIN INITIAL; return processAttribute (yytext); } /* PUNCTUATION */ @@ -663,6 +663,11 @@ attributes[] = { static int processAttribute (const char *str) { + gdb_assert (*str == '\''); + ++str; + while (isspace (*str)) + ++str; + for (const auto &item : attributes) if (strcasecmp (str, item.name) == 0) return item.code; |