* dwarf2loc.c (read_pieced_value): Exit loop when result is full.
	<DWARF_VALUE_OPTIMIZED_OUT>: New case.
	* dwarf2expr.h (enum dwarf_value_location)
	<DWARF_VALUE_OPTIMIZED_OUT>: New constant.
	* dwarf2expr.c (dwarf_expr_stack_empty_p): New function.
	(add_piece): Handle empty piece.
	(execute_stack_op) <DW_OP_piece>: Handle
	DWARF_VALUE_OPTIMIZED_OUT.
gdb/testsuite
	* gdb.dwarf2/pieces.exp (pieces_test_f6): New proc.
	Call it.
	* gdb.dwarf2/pieces.c (struct C): New.
	(f6): New function.
	* gdb.dwarf2/pieces.S: Replace.
This commit is contained in:
Tom Tromey 2010-05-21 21:01:46 +00:00
parent 74de6778b1
commit cb82636715
8 changed files with 539 additions and 207 deletions

View file

@ -38,7 +38,10 @@ enum dwarf_value_location
DWARF_VALUE_STACK,
/* The piece is a literal. */
DWARF_VALUE_LITERAL
DWARF_VALUE_LITERAL,
/* The piece was optimized out. */
DWARF_VALUE_OPTIMIZED_OUT
};
/* The dwarf expression stack. */