* blockframe.c (block_innermost_frame): Uncomment.
[deliverable/binutils-gdb.git] / gdb / c-exp.y
index b841498275b6412c2e36c0773ea8b97df418e773..42e482b357d86e6bf21e297426e8da020ba3b4f5 100644 (file)
@@ -564,6 +564,8 @@ variable:   block COLONCOLON name
                                   copy_name ($3));
 
                          write_exp_elt_opcode (OP_VAR_VALUE);
+                         /* block_found is set by lookup_symbol.  */
+                         write_exp_elt_block (block_found);
                          write_exp_elt_sym (sym);
                          write_exp_elt_opcode (OP_VAR_VALUE); }
        ;
@@ -620,6 +622,7 @@ variable:   qualified_name
                          if (sym)
                            {
                              write_exp_elt_opcode (OP_VAR_VALUE);
+                             write_exp_elt_block (NULL);
                              write_exp_elt_sym (sym);
                              write_exp_elt_opcode (OP_VAR_VALUE);
                              break;
@@ -689,6 +692,10 @@ variable:  name_not_typename
                                  break;
                                }
                              write_exp_elt_opcode (OP_VAR_VALUE);
+                             /* We want to use the selected frame, not
+                                another more inner frame which happens to
+                                be in the same block.  */
+                             write_exp_elt_block (NULL);
                              write_exp_elt_sym (sym);
                              write_exp_elt_opcode (OP_VAR_VALUE);
                            }
This page took 0.022826 seconds and 4 git commands to generate.