diff options
author | Tom Tromey <tom@tromey.com> | 2021-12-03 14:45:37 -0700 |
---|---|---|
committer | Tom Tromey <tom@tromey.com> | 2021-12-08 13:20:30 -0700 |
commit | 696d6f4d5c1bc9b36d0402c2393efe62e49392d9 (patch) | |
tree | e0a5c7edfce36b065afc1f443a15906936c44660 /gdb/f-exp.y | |
parent | 621f8c42d3df079ca5781cdb0925c5ec3498f59c (diff) | |
download | gdb-696d6f4d5c1bc9b36d0402c2393efe62e49392d9.zip gdb-696d6f4d5c1bc9b36d0402c2393efe62e49392d9.tar.gz gdb-696d6f4d5c1bc9b36d0402c2393efe62e49392d9.tar.bz2 |
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.y | 46 |
1 files changed, 23 insertions, 23 deletions
diff --git a/gdb/f-exp.y b/gdb/f-exp.y index 6608831..e0d576f 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); |