Re: [PATCH v6] Make chained function calls in expressions work

Siva Chandra
2014-11-29T00:04:01Z

On Fri, Nov 28, 2014 at 4:10 AM, Ulrich Weigand <uweigand@de.ibm.com> wrote:
> Siva Chandra wrote:
>
>> gdb/ChangeLog:
>>
>> 2014-11-27 Siva Chandra Reddy <sivachandra@google.com>
>>
>> * eval.c: Include gdbthread.h.
>> (evaluate_subexp): Enable thread stack temporaries before
>> evaluating a complete expression and clean them up after the
>> evaluation is complete.
>> * gdbthread.h: Include common/vec.h.
>> (value_ptr): New typedef.
>> (VEC (value_ptr)): New vector type.
>> (value_vec): New typedef.
>> (struct thread_info): Add new fields stack_temporaries_enabled
>> and stack_temporaries.
>> (enable_thread_stack_temporaries)
>> (thread_stack_temporaries_enabled_p, push_thread_stack_temporary)
>> (get_last_thread_stack_temporary)
>> (value_in_thread_stack_temporaries): Declare.
>> * gdbtypes.c (class_or_union_p): New function.
>> * gdbtypes.h (class_or_union_p): Declare.
>> * infcall.c (call_function_by_hand): Store return values of class
>> type as temporaries on stack.
>> * thread.c (enable_thread_stack_temporaries): New function.
>> (thread_stack_temporaries_enabled_p, push_thread_stack_temporary)
>> (get_last_thread_stack_temporary): Likewise.
>> (value_in_thread_stack_temporaries): Likewise.
>> * value.c (value_force_lval): New function.
>> * value.h (value_force_lval): Declare.
>>
>> gdb/testsuite/ChangeLog:
>>
>> 2014-11-27 Siva Chandra Reddy <sivachandra@google.com>
>>
>> * gdb.cp/chained-calls.cc: New file.
>> * gdb.cp/chained-calls.exp: New file.
>> * gdb.cp/smartp.exp: Remove KFAIL for "p c2->inta".
>
> This is OK.
>
> Thanks for you patience in working through the many iterations on this patch!

Thanks for your patience with explaining things to me. I have now
pushed this patch after fixing the one comment:
6c659fc2c7cd2da6d2b9a3d7c38597ad3821832a