summaryrefslogtreecommitdiff
path: root/gdb/f-exp.y
diff options
context:
space:
mode:
authorTom Tromey <tom@tromey.com>2021-12-03 14:45:37 -0700
committerTom Tromey <tom@tromey.com>2021-12-08 13:20:30 -0700
commit696d6f4d5c1bc9b36d0402c2393efe62e49392d9 (patch)
treee0a5c7edfce36b065afc1f443a15906936c44660 /gdb/f-exp.y
parent621f8c42d3df079ca5781cdb0925c5ec3498f59c (diff)
downloadbinutils-gdb-696d6f4d5c1bc9b36d0402c2393efe62e49392d9.tar.gz
Use for-each more in gdb
There are some loops in gdb that use ARRAY_SIZE (or a wordier equivalent) to loop over a static array. This patch changes some of these to use foreach instead. Regression tested on x86-64 Fedora 34.
Diffstat (limited to 'gdb/f-exp.y')
-rw-r--r--gdb/f-exp.y46
1 files changed, 23 insertions, 23 deletions
diff --git a/gdb/f-exp.y b/gdb/f-exp.y
index 6608831a9a5..e0d576fe533 100644
--- a/gdb/f-exp.y
+++ b/gdb/f-exp.y
@@ -1269,27 +1269,27 @@ yylex (void)
if (*pstate->lexptr == '.')
{
- for (int i = 0; i < ARRAY_SIZE (boolean_values); i++)
+ for (const auto &candidate : boolean_values)
{
- if (strncasecmp (tokstart, boolean_values[i].name,
- strlen (boolean_values[i].name)) == 0)
+ if (strncasecmp (tokstart, candidate.name,
+ strlen (candidate.name)) == 0)
{
- pstate->lexptr += strlen (boolean_values[i].name);
- yylval.lval = boolean_values[i].value;
+ pstate->lexptr += strlen (candidate.name);
+ yylval.lval = candidate.value;
return BOOLEAN_LITERAL;
}
}
}
/* See if it is a Fortran operator. */
- for (int i = 0; i < ARRAY_SIZE (fortran_operators); i++)
- if (strncasecmp (tokstart, fortran_operators[i].oper,
- strlen (fortran_operators[i].oper)) == 0)
+ for (const auto &candidate : fortran_operators)
+ if (strncasecmp (tokstart, candidate.oper,
+ strlen (candidate.oper)) == 0)
{
- gdb_assert (!fortran_operators[i].case_sensitive);
- pstate->lexptr += strlen (fortran_operators[i].oper);
- yylval.opcode = fortran_operators[i].opcode;
- return fortran_operators[i].token;
+ gdb_assert (!candidate.case_sensitive);
+ pstate->lexptr += strlen (candidate.oper);
+ yylval.opcode = candidate.opcode;
+ return candidate.token;
}
switch (c = *tokstart)
@@ -1452,15 +1452,15 @@ yylex (void)
/* Catch specific keywords. */
- for (int i = 0; i < ARRAY_SIZE (f77_keywords); i++)
- if (strlen (f77_keywords[i].oper) == namelen
- && ((!f77_keywords[i].case_sensitive
- && strncasecmp (tokstart, f77_keywords[i].oper, namelen) == 0)
- || (f77_keywords[i].case_sensitive
- && strncmp (tokstart, f77_keywords[i].oper, namelen) == 0)))
+ for (const auto &keyword : f77_keywords)
+ if (strlen (keyword.oper) == namelen
+ && ((!keyword.case_sensitive
+ && strncasecmp (tokstart, keyword.oper, namelen) == 0)
+ || (keyword.case_sensitive
+ && strncmp (tokstart, keyword.oper, namelen) == 0)))
{
- yylval.opcode = f77_keywords[i].opcode;
- return f77_keywords[i].token;
+ yylval.opcode = keyword.opcode;
+ return keyword.token;
}
yylval.sval.ptr = tokstart;
@@ -1475,7 +1475,7 @@ yylex (void)
{
std::string tmp = copy_name (yylval.sval);
struct block_symbol result;
- enum domain_enum_tag lookup_domains[] =
+ const enum domain_enum_tag lookup_domains[] =
{
STRUCT_DOMAIN,
VAR_DOMAIN,
@@ -1483,10 +1483,10 @@ yylex (void)
};
int hextype;
- for (int i = 0; i < ARRAY_SIZE (lookup_domains); ++i)
+ for (const auto &domain : lookup_domains)
{
result = lookup_symbol (tmp.c_str (), pstate->expression_context_block,
- lookup_domains[i], NULL);
+ domain, NULL);
if (result.symbol && SYMBOL_CLASS (result.symbol) == LOC_TYPEDEF)
{
yylval.tsym.type = SYMBOL_TYPE (result.symbol);