aboutsummaryrefslogtreecommitdiff
path: root/gdb/ada-lex.l
diff options
context:
space:
mode:
Diffstat (limited to 'gdb/ada-lex.l')
-rw-r--r--gdb/ada-lex.l7
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;