This is the mail archive of the gdb-patches@sourceware.org mailing list for the GDB project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: [PATCH] Make dwarf_expr_piece::pieces an std::vector


On 09/14/2017 10:26 AM, Simon Marchi wrote:
> On 2017-09-14 11:21, Pedro Alves wrote:

>> I wonder if there's ever a case for 'const T &&' parameters,
>> and if GCC could warn about them.  At least in non-template
>> functions.
> 

FYI, I filed https://gcc.gnu.org/bugzilla/show_bug.cgi?id=82213 now.

> Oops, I started with a const reference, before changing it to rvalue
> reference (and forgot to remove the const).  Does the patch look good to
> you otherwise?
> 

Sure, with tiny nit below.

>  /* Expand the memory allocated stack to contain at least
> @@ -285,14 +282,9 @@ dwarf_expr_context::stack_empty_p () const
>  void
>  dwarf_expr_context::add_piece (ULONGEST size, ULONGEST offset)
>  {
> -  struct dwarf_expr_piece *p;
> +  this->pieces.emplace_back ();
> +  dwarf_expr_piece *p = &(this->pieces.back ());
>

The extra parens look odd to me:

- dwarf_expr_piece *p = &(this->pieces.back ());
+ dwarf_expr_piece *p = &this->pieces.back ();

('p' could be a reference instead, since it's always
non-null, but I guess even better would be to move most
of the code below to a dwarf_expr_piece ctor.  But you don't
really have to do that.  I definitely understand not wanting
to change too much at a time.  And I wouldn't have said a thing
if it weren't for the parens making me pause.  :-))

Thanks,
Pedro Alves


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]