This is the mail archive of the gdb-cvs@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]

[binutils-gdb] Darwin: Fix gdb compilation.


https://sourceware.org/git/gitweb.cgi?p=binutils-gdb.git;h=97f00e367c8222cda51bc7c0e9d3073a487a5976

commit 97f00e367c8222cda51bc7c0e9d3073a487a5976
Author: Bernhard Heckel <bernhard.heckel@intel.com>
Date:   Thu Dec 15 14:04:11 2016 +0100

    Darwin: Fix gdb compilation.
    
    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);
    
    Beside compilation, memory leak was solved as 'make_clean_up' was not called in previous
    version.
    
    2016-12-16  Bernhard Heckel  <bernhard.heckel@intel.com>
    
    gdb/Changelog:
    	* darwin-nat-info.c (info_mach_region_command): Use expression_up.

Diff:
---
 gdb/ChangeLog         | 4 ++++
 gdb/darwin-nat-info.c | 5 ++---
 2 files changed, 6 insertions(+), 3 deletions(-)

diff --git a/gdb/ChangeLog b/gdb/ChangeLog
index e25f025..0f4e3a9 100644
--- a/gdb/ChangeLog
+++ b/gdb/ChangeLog
@@ -1,3 +1,7 @@
+2016-12-16  Bernhard Heckel  <bernhard.heckel@intel.com>
+
+	* darwin-nat-info.c (info_mach_region_command): Use expression_up.
+
 2016-12-12  Yao Qi  <yao.qi@linaro.org>
 
 	PR tdep/20955
diff --git a/gdb/darwin-nat-info.c b/gdb/darwin-nat-info.c
index 314d265..0262026 100644
--- a/gdb/darwin-nat-info.c
+++ b/gdb/darwin-nat-info.c
@@ -725,13 +725,12 @@ info_mach_regions_recurse_command (char *args, int from_tty)
 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);


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