gdb/fortran: Remove some dead code from the parser
authorAndrew Burgess <andrew.burgess@embecosm.com>
Thu, 22 Aug 2019 09:07:00 +0000 (10:07 +0100)
committerAndrew Burgess <andrew.burgess@embecosm.com>
Thu, 22 Aug 2019 11:34:42 +0000 (12:34 +0100)
The Fortran parser contains some code that looks like it was probably
inherited from the C/C++ parser as it checks to see if the current
language is C++, which should never be true when we're in the Fortran
parser.

gdb/ChangeLog:

* f-exp.y (yylex): Remove is_a_field_of_this local variable, and
all uses as this was never set to anything but a zero value.

gdb/ChangeLog
gdb/f-exp.y

index 966bfb7d9fcb273fde957fbcfa4ed3efde4c3dfb..b6d200d3d8e7607ddc125f409eb4c0cc8b0726f2 100644 (file)
@@ -1,3 +1,8 @@
+2019-08-22  Andrew Burgess  <andrew.burgess@embecosm.com>
+
+       * f-exp.y (yylex): Remove is_a_field_of_this local variable, and
+       all uses as this was never set to anything but a zero value.
+
 2019-08-21  Bogdan Harjoc  <harjoc@gmail.com>
 
        * cli/cli-cmds.c (with_command_1): Error out if no arguments.
index 14ea3869bb2d01c5c80e77af26e3937c24353fab..9784ad57d822b63a4aac773c684a454f24d793c0 100644 (file)
@@ -1275,7 +1275,6 @@ yylex (void)
   {
     std::string tmp = copy_name (yylval.sval);
     struct block_symbol result;
-    struct field_of_this_result is_a_field_of_this;
     enum domain_enum_tag lookup_domains[] =
     {
       STRUCT_DOMAIN,
@@ -1286,15 +1285,8 @@ yylex (void)
 
     for (int i = 0; i < ARRAY_SIZE (lookup_domains); ++i)
       {
-       /* Initialize this in case we *don't* use it in this call; that
-          way we can refer to it unconditionally below.  */
-       memset (&is_a_field_of_this, 0, sizeof (is_a_field_of_this));
-
        result = lookup_symbol (tmp.c_str (), pstate->expression_context_block,
-                               lookup_domains[i],
-                               pstate->language ()->la_language
-                               == language_cplus
-                                 ? &is_a_field_of_this : NULL);
+                               lookup_domains[i], NULL);
        if (result.symbol && SYMBOL_CLASS (result.symbol) == LOC_TYPEDEF)
          {
            yylval.tsym.type = SYMBOL_TYPE (result.symbol);
@@ -1323,14 +1315,14 @@ yylex (void)
        if (hextype == INT)
          {
            yylval.ssym.sym = result;
-           yylval.ssym.is_a_field_of_this = is_a_field_of_this.type != NULL;
+           yylval.ssym.is_a_field_of_this = false;
            return NAME_OR_INT;
          }
       }
     
     /* Any other kind of symbol */
     yylval.ssym.sym = result;
-    yylval.ssym.is_a_field_of_this = is_a_field_of_this.type != NULL;
+    yylval.ssym.is_a_field_of_this = false;
     return NAME;
   }
 }