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 obv] Darwin: Fix gdb compilation.


On 12/16/2016 10:13 AM, Bernhard Heckel wrote:
> Due to changes introduced by
> commit 4d01a485d29732b19743e8b138897f3509e071b0
> ('struct expression *' -> gdb::unique_xmalloc_ptr<expression>)
> compilation is broken on Darwin.
> 
> ../gdb/darwin-nat-info.c:733:8: error: assigning to 'struct expression *'
> from incompatible type
> 'expression_up' (aka 'std::__1::unique_ptr<expression, gdb::xfree_deleter<expression> >')
> expr = parse_expression (exp);
> 
> 2016-12-16  Bernhard Heckel  <bernhard.heckel@intel.com>
> 
> gdb/Changelog:
> 	* darwin-nat-info.c (info_mach_region_command): Use expression_up.

OK, please push if you haven't yet.

>  static void
>  info_mach_region_command (char *exp, int from_tty)
>  {
> -  struct expression *expr;
>    struct value *val;
>    mach_vm_address_t address;
>    struct inferior *inf;
>  
> -  expr = parse_expression (exp);
> -  val = evaluate_expression (expr);
> +  expression_up expr = parse_expression (exp);
> +  val = evaluate_expression (expr.get ());
>    if (TYPE_CODE (value_type (val)) == TYPE_CODE_REF)
>      {
>        val = value_ind (val);
> 

Note this fixes a leak as well -- nothing was deleting exp before.

Thanks,
Pedro Alves


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