From patchwork Thu Aug 30 16:47:15 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Simon Marchi X-Patchwork-Id: 29136 Received: (qmail 46446 invoked by alias); 30 Aug 2018 16:47:35 -0000 Mailing-List: contact gdb-patches-help@sourceware.org; run by ezmlm Precedence: bulk List-Id: List-Unsubscribe: List-Subscribe: List-Archive: List-Post: List-Help: , Sender: gdb-patches-owner@sourceware.org Delivered-To: mailing list gdb-patches@sourceware.org Received: (qmail 46416 invoked by uid 89); 30 Aug 2018 16:47:35 -0000 Authentication-Results: sourceware.org; auth=none X-Spam-SWARE-Status: No, score=-25.4 required=5.0 tests=BAYES_00, GIT_PATCH_0, GIT_PATCH_1, GIT_PATCH_2, GIT_PATCH_3, KAM_STOCKGEN autolearn=ham version=3.3.2 spammy=layers, Enter, SYM X-HELO: sessmg23.ericsson.net Received: from sessmg23.ericsson.net (HELO sessmg23.ericsson.net) (193.180.251.45) by sourceware.org (qpsmtpd/0.93/v0.84-503-g423c35a) with ESMTP; Thu, 30 Aug 2018 16:47:31 +0000 DKIM-Signature: v=1; a=rsa-sha256; d=ericsson.com; s=mailgw201801; c=relaxed/simple; q=dns/txt; i=@ericsson.com; t=1535647648; h=From:Sender:Reply-To:Subject:Date:Message-Id:To:CC:MIME-Version:Content-Type: Content-Transfer-Encoding:Content-ID:Content-Description:Resent-Date:Resent-From: Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:In-Reply-To:References:List-Id: List-Help:List-Unsubscribe:List-Subscribe:List-Post:List-Owner:List-Archive; bh=3gyp3lpOOxuejnj7LOLE54D+ol8aNSoAIGQpprYZs+8=; b=TIBGBrXKxvEqR67axuSKBvrf8qEAKwaB2ooU+Pmvr7M7Ma66RsaJmibnlbrPMi14 8vPh7frtFK0b7f5dDMUsvtyDNXgbOu3zIpshselZmYabcYq3mFQ3yFSh3F+gTeOr iQ3lM5L8W4DdfCrmGNtCBwr2uotCsDn/wnSxcFpifZs=; Received: from ESESBMB505.ericsson.se (Unknown_Domain [153.88.183.118]) by sessmg23.ericsson.net (Symantec Mail Security) with SMTP id 7C.85.22015.0AF188B5; Thu, 30 Aug 2018 18:47:28 +0200 (CEST) Received: from ESESBMR501.ericsson.se (153.88.183.129) by ESESBMB505.ericsson.se (153.88.183.118) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256_P256) id 15.1.1466.3; Thu, 30 Aug 2018 18:47:28 +0200 Received: from ESESBMB504.ericsson.se (153.88.183.171) by ESESBMR501.ericsson.se (153.88.183.129) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256_P256) id 15.1.1466.3; Thu, 30 Aug 2018 18:47:27 +0200 Received: from NAM01-BN3-obe.outbound.protection.outlook.com (153.88.183.157) by ESESBMB504.ericsson.se (153.88.183.171) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256_P256) id 15.1.1466.3 via Frontend Transport; Thu, 30 Aug 2018 18:47:27 +0200 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=ericsson.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=zKDMrX/zU40eqBF1KA3APeT6un3Rh6acF3JgsA7umLM=; b=XE29kuqSk7z28e2mvnGsau8XYZ+AvjkIfEKe/nS145hJzic8KfJ2LFDRqdnpaEa0TANTT+dMYohrB8eQEbKJ5w2I2VKKsBGFvv5MHHv1PeYOjBBb+d3nATUgPm5kMh9FzlVZTW1IRZLjXgwcafRSAqc6D87JV7ea6ALSseDb7mI= Authentication-Results: spf=none (sender IP is ) smtp.mailfrom=simon.marchi@ericsson.com; Received: from elxacz23q12.lan (192.222.164.54) by BN7PR15MB2388.namprd15.prod.outlook.com (2603:10b6:406:8c::26) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.1101.14; Thu, 30 Aug 2018 16:47:25 +0000 From: Simon Marchi To: CC: Keith Seitz , Simon Marchi Subject: [PATCH] compile: Remove non-const reference parameters Date: Thu, 30 Aug 2018 12:47:15 -0400 Message-Id: <1535647635-9566-1-git-send-email-simon.marchi@ericsson.com> MIME-Version: 1.0 Return-Path: simon.marchi@ericsson.com Received-SPF: None (protection.outlook.com: ericsson.com does not designate permitted sender hosts) X-IsSubscribed: yes As mentioned here: https://sourceware.org/gdb/wiki/Internals%20GDB-C-Coding-Standards#Avoid_non-const_reference_parameters.2C_use_pointers_instead we prefer to avoid non-const references. This patch changes the non-const references I could find in the compile/ directory, either by making them const or changing them to pointers. I'd say all the changes are pretty obvious, except the one in compile_cplus_instance::enter_scope which might require more attention. gdb/ChangeLog: * compile/compile-c.h (generate_c_for_variable_locations): Change reference to pointer. * compile/compile-c-support.c (compile_program) : Likewise. * compile/compile-c-symbols.c (generate_vla_size): Likewise. (generate_c_for_for_one_variable): Likewise (generate_c_for_variable_locations): Likewise * compile/compile-c-types.c (compile_c_instance::convert_type): Likewise * compile/compile-cplus-types.c (compile_cplus_instance::enter_scope): Make reference const. (compile_cplus_instance::new_scope): Change reference to pointer. (compile_cplus_instance::convert_type): Likewise * compile/compile-cplus.h (compile_cplus_instance) : Make reference const. * compile/compile-internal.h (compile_instance) : Likewise * compile/compile-loc2c.c (push): Likewise (pushf): Likewise (unary): Likewise (binary): Likewise (print_label): Likewise (pushf_register_address): Likewise (pushf_register): Likewise (do_compile_dwarf_expr_to_c): Likewise (compile_dwarf_expr_to_c): Likewise (compile_dwarf_bounds_to_c): Likewise * compile/compile.c (compile_instance::get_cached_type): Likewise * compile/compile.h (compile_dwarf_expr_to_c): Likewise. (compile_dwarf_bounds_to_c): Likewise * dwarf2loc.c (locexpr_generate_c_location): Likewise. (dwarf2_compile_property_to_c): Likewise * dwarf2loc.h (dwarf2_compile_property_to_c): Likewise * symtab.h (struct symbol_computed_ops) : Likewise --- gdb/compile/compile-c-support.c | 2 +- gdb/compile/compile-c-symbols.c | 14 ++--- gdb/compile/compile-c-types.c | 2 +- gdb/compile/compile-c.h | 2 +- gdb/compile/compile-cplus-types.c | 9 ++-- gdb/compile/compile-cplus.h | 2 +- gdb/compile/compile-internal.h | 2 +- gdb/compile/compile-loc2c.c | 106 +++++++++++++++++++------------------- gdb/compile/compile.c | 4 +- gdb/compile/compile.h | 4 +- gdb/dwarf2loc.c | 6 +-- gdb/dwarf2loc.h | 2 +- gdb/symtab.h | 2 +- 13 files changed, 78 insertions(+), 79 deletions(-) diff --git a/gdb/compile/compile-c-support.c b/gdb/compile/compile-c-support.c index 5c700bb..28a07dc 100644 --- a/gdb/compile/compile-c-support.c +++ b/gdb/compile/compile-c-support.c @@ -572,7 +572,7 @@ public: register struct before the function body. This requires a temporary stream. */ gdb::unique_xmalloc_ptr registers_used - = generate_c_for_variable_locations (m_instance, var_stream, m_arch, + = generate_c_for_variable_locations (m_instance, &var_stream, m_arch, expr_block, expr_pc); buf.puts ("typedef unsigned int" diff --git a/gdb/compile/compile-c-symbols.c b/gdb/compile/compile-c-symbols.c index e7423d1..e877b78 100644 --- a/gdb/compile/compile-c-symbols.c +++ b/gdb/compile/compile-c-symbols.c @@ -487,7 +487,7 @@ symbol_seen (htab_t hashtab, struct symbol *sym) static void generate_vla_size (compile_instance *compiler, - string_file &stream, + string_file *stream, struct gdbarch *gdbarch, unsigned char *registers_used, CORE_ADDR pc, @@ -541,7 +541,7 @@ generate_vla_size (compile_instance *compiler, static void generate_c_for_for_one_variable (compile_instance *compiler, - string_file &stream, + string_file *stream, struct gdbarch *gdbarch, unsigned char *registers_used, CORE_ADDR pc, @@ -556,10 +556,10 @@ generate_c_for_for_one_variable (compile_instance *compiler, occurs in the middle. */ string_file local_file; - generate_vla_size (compiler, local_file, gdbarch, registers_used, pc, + generate_vla_size (compiler, &local_file, gdbarch, registers_used, pc, SYMBOL_TYPE (sym), sym); - stream.write (local_file.c_str (), local_file.size ()); + stream->write (local_file.c_str (), local_file.size ()); } if (SYMBOL_COMPUTED_OPS (sym) != NULL) @@ -570,12 +570,12 @@ generate_c_for_for_one_variable (compile_instance *compiler, occurs in the middle. */ string_file local_file; - SYMBOL_COMPUTED_OPS (sym)->generate_c_location (sym, local_file, + SYMBOL_COMPUTED_OPS (sym)->generate_c_location (sym, &local_file, gdbarch, registers_used, pc, generated_name.get ()); - stream.write (local_file.c_str (), local_file.size ()); + stream->write (local_file.c_str (), local_file.size ()); } else { @@ -611,7 +611,7 @@ generate_c_for_for_one_variable (compile_instance *compiler, gdb::unique_xmalloc_ptr generate_c_for_variable_locations (compile_instance *compiler, - string_file &stream, + string_file *stream, struct gdbarch *gdbarch, const struct block *block, CORE_ADDR pc) diff --git a/gdb/compile/compile-c-types.c b/gdb/compile/compile-c-types.c index 30a4fcb..33b4a87 100644 --- a/gdb/compile/compile-c-types.c +++ b/gdb/compile/compile-c-types.c @@ -353,7 +353,7 @@ compile_c_instance::convert_type (struct type *type) type = check_typedef (type); gcc_type result; - if (get_cached_type (type, result)) + if (get_cached_type (type, &result)) return result; result = convert_type_basic (this, type); diff --git a/gdb/compile/compile-c.h b/gdb/compile/compile-c.h index 18ff4d3..aa11a13 100644 --- a/gdb/compile/compile-c.h +++ b/gdb/compile/compile-c.h @@ -69,7 +69,7 @@ private: extern gdb::unique_xmalloc_ptr generate_c_for_variable_locations (compile_instance *compiler, - string_file &stream, + string_file *stream, struct gdbarch *gdbarch, const struct block *block, CORE_ADDR pc); diff --git a/gdb/compile/compile-cplus-types.c b/gdb/compile/compile-cplus-types.c index 7fc4136..ab4a48b 100644 --- a/gdb/compile/compile-cplus-types.c +++ b/gdb/compile/compile-cplus-types.c @@ -247,14 +247,13 @@ operator!= (const compile_scope &lhs, const compile_scope &rhs) /* See description in compile-cplus.h. */ void -compile_cplus_instance::enter_scope (compile_scope &new_scope) +compile_cplus_instance::enter_scope (const compile_scope &new_scope) { bool must_push = m_scopes.empty () || m_scopes.back () != new_scope; - new_scope.m_pushed = must_push; - /* Save the new scope. */ m_scopes.push_back (new_scope); + m_scopes.back().m_pushed = must_push; if (must_push) { @@ -360,7 +359,7 @@ compile_cplus_instance::new_scope (const char *type_name, struct type *type) class, the previous call will give us that type's gcc_type. Upper layers are expecting to get the original type's gcc_type! */ - get_cached_type (type, scope.m_nested_type); + get_cached_type (type, &scope.m_nested_type); return scope; } } @@ -1211,7 +1210,7 @@ compile_cplus_instance::convert_type (struct type *type, { /* Check if TYPE has already been converted. */ gcc_type result; - if (get_cached_type (type, result)) + if (get_cached_type (type, &result)) return result; /* It is the first time this type has been seen -- convert it diff --git a/gdb/compile/compile-cplus.h b/gdb/compile/compile-cplus.h index 7baa57d..b7c4df5 100644 --- a/gdb/compile/compile-cplus.h +++ b/gdb/compile/compile-cplus.h @@ -159,7 +159,7 @@ public: compile_scope new_scope (const char *type_name, struct type *type); /* Enter the given NEW_SCOPE. */ - void enter_scope (compile_scope &scope); + void enter_scope (const compile_scope &scope); /* Leave the current scope. */ void leave_scope (); diff --git a/gdb/compile/compile-internal.h b/gdb/compile/compile-internal.h index a6e7330..2df8b89 100644 --- a/gdb/compile/compile-internal.h +++ b/gdb/compile/compile-internal.h @@ -59,7 +59,7 @@ public: /* Query the type cache for TYPE, returning the compiler's type for it in RET. */ - bool get_cached_type (struct type *type, gcc_type &ret) const; + bool get_cached_type (struct type *type, gcc_type *ret) const; /* Insert GCC_TYPE into the type cache for TYPE. diff --git a/gdb/compile/compile-loc2c.c b/gdb/compile/compile-loc2c.c index bd080f8..1997e9a 100644 --- a/gdb/compile/compile-loc2c.c +++ b/gdb/compile/compile-loc2c.c @@ -430,9 +430,9 @@ compute_stack_depth (enum bfd_endian byte_order, unsigned int addr_size, /* Emit code to push a constant. */ static void -push (int indent, string_file &stream, ULONGEST l) +push (int indent, string_file *stream, ULONGEST l) { - fprintfi_filtered (indent, &stream, + fprintfi_filtered (indent, stream, "__gdb_stack[++__gdb_tos] = (" GCC_UINTPTR ") %s;\n", hex_string (l)); } @@ -440,57 +440,57 @@ push (int indent, string_file &stream, ULONGEST l) /* Emit code to push an arbitrary expression. This works like printf. */ -static void pushf (int indent, string_file &stream, const char *format, ...) +static void pushf (int indent, string_file *stream, const char *format, ...) ATTRIBUTE_PRINTF (3, 4); static void -pushf (int indent, string_file &stream, const char *format, ...) +pushf (int indent, string_file *stream, const char *format, ...) { va_list args; - fprintfi_filtered (indent, &stream, "__gdb_stack[__gdb_tos + 1] = "); + fprintfi_filtered (indent, stream, "__gdb_stack[__gdb_tos + 1] = "); va_start (args, format); - stream.vprintf (format, args); + stream->vprintf (format, args); va_end (args); - stream.puts (";\n"); + stream->puts (";\n"); - fprintfi_filtered (indent, &stream, "++__gdb_tos;\n"); + fprintfi_filtered (indent, stream, "++__gdb_tos;\n"); } /* Emit code for a unary expression -- one which operates in-place on the top-of-stack. This works like printf. */ -static void unary (int indent, string_file &stream, const char *format, ...) +static void unary (int indent, string_file *stream, const char *format, ...) ATTRIBUTE_PRINTF (3, 4); static void -unary (int indent, string_file &stream, const char *format, ...) +unary (int indent, string_file *stream, const char *format, ...) { va_list args; - fprintfi_filtered (indent, &stream, "__gdb_stack[__gdb_tos] = "); + fprintfi_filtered (indent, stream, "__gdb_stack[__gdb_tos] = "); va_start (args, format); - stream.vprintf (format, args); + stream->vprintf (format, args); va_end (args); - stream.puts (";\n"); + stream->puts (";\n"); } /* Emit code for a unary expression -- one which uses the top two stack items, popping the topmost one. This works like printf. */ -static void binary (int indent, string_file &stream, const char *format, ...) +static void binary (int indent, string_file *stream, const char *format, ...) ATTRIBUTE_PRINTF (3, 4); static void -binary (int indent, string_file &stream, const char *format, ...) +binary (int indent, string_file *stream, const char *format, ...) { va_list args; - fprintfi_filtered (indent, &stream, "__gdb_stack[__gdb_tos - 1] = "); + fprintfi_filtered (indent, stream, "__gdb_stack[__gdb_tos - 1] = "); va_start (args, format); - stream.vprintf (format, args); + stream->vprintf (format, args); va_end (args); - stream.puts (";\n"); - fprintfi_filtered (indent, &stream, "--__gdb_tos;\n"); + stream->puts (";\n"); + fprintfi_filtered (indent, stream, "--__gdb_tos;\n"); } /* Print the name of a label given its "SCOPE", an arbitrary integer @@ -498,9 +498,9 @@ binary (int indent, string_file &stream, const char *format, ...) corresponding to the label's point of definition. */ static void -print_label (string_file &stream, unsigned int scope, int target) +print_label (string_file *stream, unsigned int scope, int target) { - stream.printf ("__label_%u_%s", scope, pulongest (target)); + stream->printf ("__label_%u_%s", scope, pulongest (target)); } /* Emit code that pushes a register's address on the stack. @@ -508,7 +508,7 @@ print_label (string_file &stream, unsigned int scope, int target) register was needed by this expression. */ static void -pushf_register_address (int indent, string_file &stream, +pushf_register_address (int indent, string_file *stream, unsigned char *registers_used, struct gdbarch *gdbarch, int regnum) { @@ -526,7 +526,7 @@ pushf_register_address (int indent, string_file &stream, register's value before it is pushed. */ static void -pushf_register (int indent, string_file &stream, +pushf_register (int indent, string_file *stream, unsigned char *registers_used, struct gdbarch *gdbarch, int regnum, uint64_t offset) { @@ -572,7 +572,7 @@ pushf_register (int indent, string_file &stream, things. */ static void -do_compile_dwarf_expr_to_c (int indent, string_file &stream, +do_compile_dwarf_expr_to_c (int indent, string_file *stream, const char *type_name, const char *result_name, struct symbol *sym, CORE_ADDR pc, @@ -596,9 +596,9 @@ do_compile_dwarf_expr_to_c (int indent, string_file &stream, ++scope; - fprintfi_filtered (indent, &stream, "__attribute__ ((unused)) %s %s;\n", + fprintfi_filtered (indent, stream, "__attribute__ ((unused)) %s %s;\n", type_name, result_name); - fprintfi_filtered (indent, &stream, "{\n"); + fprintfi_filtered (indent, stream, "{\n"); indent += 2; stack_depth = compute_stack_depth (byte_order, addr_size, @@ -634,19 +634,19 @@ do_compile_dwarf_expr_to_c (int indent, string_file &stream, "compiled code."), SYMBOL_PRINT_NAME (sym)); - fprintfi_filtered (indent, &stream, "%s = %s;\n", + fprintfi_filtered (indent, stream, "%s = %s;\n", result_name, core_addr_to_string (value_address (val))); - fprintfi_filtered (indent - 2, &stream, "}\n"); + fprintfi_filtered (indent - 2, stream, "}\n"); return; } - fprintfi_filtered (indent, &stream, GCC_UINTPTR " __gdb_stack[%d];\n", + fprintfi_filtered (indent, stream, GCC_UINTPTR " __gdb_stack[%d];\n", stack_depth); if (need_tempvar) - fprintfi_filtered (indent, &stream, GCC_UINTPTR " __gdb_tmp;\n"); - fprintfi_filtered (indent, &stream, "int __gdb_tos = -1;\n"); + fprintfi_filtered (indent, stream, GCC_UINTPTR " __gdb_tmp;\n"); + fprintfi_filtered (indent, stream, "int __gdb_tos = -1;\n"); if (initial != NULL) pushf (indent, stream, "%s", core_addr_to_string (*initial)); @@ -657,13 +657,13 @@ do_compile_dwarf_expr_to_c (int indent, string_file &stream, uint64_t uoffset, reg; int64_t offset; - print_spaces (indent - 2, &stream); + print_spaces (indent - 2, stream); if (info[op_ptr - base].label) { print_label (stream, scope, op_ptr - base); - stream.puts (":;"); + stream->puts (":;"); } - stream.printf ("/* %s */\n", get_DW_OP_name (op)); + stream->printf ("/* %s */\n", get_DW_OP_name (op)); /* This is handy for debugging the generated code: fprintf_filtered (stream, "if (__gdb_tos != %d) abort ();\n", @@ -905,7 +905,7 @@ do_compile_dwarf_expr_to_c (int indent, string_file &stream, break; case DW_OP_drop: - fprintfi_filtered (indent, &stream, "--__gdb_tos;\n"); + fprintfi_filtered (indent, stream, "--__gdb_tos;\n"); break; case DW_OP_pick: @@ -915,13 +915,13 @@ do_compile_dwarf_expr_to_c (int indent, string_file &stream, break; case DW_OP_swap: - fprintfi_filtered (indent, &stream, + fprintfi_filtered (indent, stream, "__gdb_tmp = __gdb_stack[__gdb_tos - 1];\n"); - fprintfi_filtered (indent, &stream, + fprintfi_filtered (indent, stream, "__gdb_stack[__gdb_tos - 1] = " "__gdb_stack[__gdb_tos];\n"); - fprintfi_filtered (indent, &stream, ("__gdb_stack[__gdb_tos] = " - "__gdb_tmp;\n")); + fprintfi_filtered (indent, stream, ("__gdb_stack[__gdb_tos] = " + "__gdb_tmp;\n")); break; case DW_OP_over: @@ -929,15 +929,15 @@ do_compile_dwarf_expr_to_c (int indent, string_file &stream, break; case DW_OP_rot: - fprintfi_filtered (indent, &stream, ("__gdb_tmp = " - "__gdb_stack[__gdb_tos];\n")); - fprintfi_filtered (indent, &stream, + fprintfi_filtered (indent, stream, ("__gdb_tmp = " + "__gdb_stack[__gdb_tos];\n")); + fprintfi_filtered (indent, stream, "__gdb_stack[__gdb_tos] = " "__gdb_stack[__gdb_tos - 1];\n"); - fprintfi_filtered (indent, &stream, + fprintfi_filtered (indent, stream, "__gdb_stack[__gdb_tos - 1] = " "__gdb_stack[__gdb_tos -2];\n"); - fprintfi_filtered (indent, &stream, "__gdb_stack[__gdb_tos - 2] = " + fprintfi_filtered (indent, stream, "__gdb_stack[__gdb_tos - 2] = " "__gdb_tmp;\n"); break; @@ -959,7 +959,7 @@ do_compile_dwarf_expr_to_c (int indent, string_file &stream, /* Cast to a pointer of the desired type, then dereference. */ - fprintfi_filtered (indent, &stream, + fprintfi_filtered (indent, stream, "__gdb_stack[__gdb_tos] = " "*((__gdb_int_%s *) " "__gdb_stack[__gdb_tos]);\n", @@ -1085,19 +1085,19 @@ do_compile_dwarf_expr_to_c (int indent, string_file &stream, case DW_OP_skip: offset = extract_signed_integer (op_ptr, 2, byte_order); op_ptr += 2; - fprintfi_filtered (indent, &stream, "goto "); + fprintfi_filtered (indent, stream, "goto "); print_label (stream, scope, op_ptr + offset - base); - stream.puts (";\n"); + stream->puts (";\n"); break; case DW_OP_bra: offset = extract_signed_integer (op_ptr, 2, byte_order); op_ptr += 2; - fprintfi_filtered (indent, &stream, + fprintfi_filtered (indent, stream, "if ((( " GCC_INTPTR ") __gdb_stack[__gdb_tos--]) != 0) goto "); print_label (stream, scope, op_ptr + offset - base); - stream.puts (";\n"); + stream->puts (";\n"); break; case DW_OP_nop: @@ -1108,15 +1108,15 @@ do_compile_dwarf_expr_to_c (int indent, string_file &stream, } } - fprintfi_filtered (indent, &stream, "%s = __gdb_stack[__gdb_tos];\n", + fprintfi_filtered (indent, stream, "%s = __gdb_stack[__gdb_tos];\n", result_name); - fprintfi_filtered (indent - 2, &stream, "}\n"); + fprintfi_filtered (indent - 2, stream, "}\n"); } /* See compile.h. */ void -compile_dwarf_expr_to_c (string_file &stream, const char *result_name, +compile_dwarf_expr_to_c (string_file *stream, const char *result_name, struct symbol *sym, CORE_ADDR pc, struct gdbarch *arch, unsigned char *registers_used, unsigned int addr_size, @@ -1131,7 +1131,7 @@ compile_dwarf_expr_to_c (string_file &stream, const char *result_name, /* See compile.h. */ void -compile_dwarf_bounds_to_c (string_file &stream, +compile_dwarf_bounds_to_c (string_file *stream, const char *result_name, const struct dynamic_prop *prop, struct symbol *sym, CORE_ADDR pc, diff --git a/gdb/compile/compile.c b/gdb/compile/compile.c index 6d51006..f4d2091 100644 --- a/gdb/compile/compile.c +++ b/gdb/compile/compile.c @@ -141,7 +141,7 @@ compile_instance::compile_instance (struct gcc_base_context *gcc_fe, /* See compile-internal.h. */ bool -compile_instance::get_cached_type (struct type *type, gcc_type &ret) const +compile_instance::get_cached_type (struct type *type, gcc_type *ret) const { struct type_map_instance inst, *found; @@ -149,7 +149,7 @@ compile_instance::get_cached_type (struct type *type, gcc_type &ret) const found = (struct type_map_instance *) htab_find (m_type_map.get (), &inst); if (found != NULL) { - ret = found->gcc_type_handle; + *ret = found->gcc_type_handle; return true; } diff --git a/gdb/compile/compile.h b/gdb/compile/compile.h index 6e03d7e..89cc00f 100644 --- a/gdb/compile/compile.h +++ b/gdb/compile/compile.h @@ -55,7 +55,7 @@ extern void eval_compile_command (struct command_line *cmd, PER_CU is the per-CU object used for looking up various other things. */ -extern void compile_dwarf_expr_to_c (string_file &stream, +extern void compile_dwarf_expr_to_c (string_file *stream, const char *result_name, struct symbol *sym, CORE_ADDR pc, @@ -90,7 +90,7 @@ extern void compile_dwarf_expr_to_c (string_file &stream, PER_CU is the per-CU object used for looking up various other things. */ -extern void compile_dwarf_bounds_to_c (string_file &stream, +extern void compile_dwarf_bounds_to_c (string_file *stream, const char *result_name, const struct dynamic_prop *prop, struct symbol *sym, CORE_ADDR pc, diff --git a/gdb/dwarf2loc.c b/gdb/dwarf2loc.c index 200fa03..ae5421e 100644 --- a/gdb/dwarf2loc.c +++ b/gdb/dwarf2loc.c @@ -2747,7 +2747,7 @@ dwarf2_evaluate_property (const struct dynamic_prop *prop, /* See dwarf2loc.h. */ void -dwarf2_compile_property_to_c (string_file &stream, +dwarf2_compile_property_to_c (string_file *stream, const char *result_name, struct gdbarch *gdbarch, unsigned char *registers_used, @@ -4478,7 +4478,7 @@ locexpr_tracepoint_var_ref (struct symbol *symbol, struct agent_expr *ax, /* symbol_computed_ops 'generate_c_location' method. */ static void -locexpr_generate_c_location (struct symbol *sym, string_file &stream, +locexpr_generate_c_location (struct symbol *sym, string_file *stream, struct gdbarch *gdbarch, unsigned char *registers_used, CORE_ADDR pc, const char *result_name) @@ -4688,7 +4688,7 @@ loclist_tracepoint_var_ref (struct symbol *symbol, struct agent_expr *ax, /* symbol_computed_ops 'generate_c_location' method. */ static void -loclist_generate_c_location (struct symbol *sym, string_file &stream, +loclist_generate_c_location (struct symbol *sym, string_file *stream, struct gdbarch *gdbarch, unsigned char *registers_used, CORE_ADDR pc, const char *result_name) diff --git a/gdb/dwarf2loc.h b/gdb/dwarf2loc.h index f82e7b2..40b7906 100644 --- a/gdb/dwarf2loc.h +++ b/gdb/dwarf2loc.h @@ -156,7 +156,7 @@ int dwarf2_evaluate_property (const struct dynamic_prop *prop, evaluated. SYM the originating symbol, used for error reporting. */ -void dwarf2_compile_property_to_c (string_file &stream, +void dwarf2_compile_property_to_c (string_file *stream, const char *result_name, struct gdbarch *gdbarch, unsigned char *registers_used, diff --git a/gdb/symtab.h b/gdb/symtab.h index e0fe17a..399666b 100644 --- a/gdb/symtab.h +++ b/gdb/symtab.h @@ -983,7 +983,7 @@ struct symbol_computed_ops The generated C code must assign the location to a local variable; this variable's name is RESULT_NAME. */ - void (*generate_c_location) (struct symbol *symbol, string_file &stream, + void (*generate_c_location) (struct symbol *symbol, string_file *stream, struct gdbarch *gdbarch, unsigned char *registers_used, CORE_ADDR pc, const char *result_name);