summaryrefslogtreecommitdiff
path: root/gdb/language.h
diff options
context:
space:
mode:
authorPedro Alves <palves@redhat.com>2016-11-08 15:26:46 +0000
committerPedro Alves <palves@redhat.com>2016-11-08 15:26:46 +0000
commitaaee65aea29ac8f7317e866d5dbef9f96cfdb253 (patch)
tree57f18e9d5f250a7c7b8f974850dcd8676705fdae /gdb/language.h
parent3d8b0d9483f6eabc2c1739ac3dd64c30061a6a72 (diff)
downloadbinutils-gdb-aaee65aea29ac8f7317e866d5dbef9f96cfdb253.tar.gz
Use ui_file_as_string in gdb/compile/
Using ui_file_as_string would imply changing a few prototypes to pass around source and object file names as std::string. Instead of that, wrap those two in a new class. This ends up eliminating a small wrinkle: get_new_file_names and compile_object_load have swapped parameters. The former takes "source, objfile", while the latter takes "objfile, source". gdb/ChangeLog: 2016-11-08 Pedro Alves <palves@redhat.com> * c-lang.h (c_compute_program): Now returns std::string. * compile/compile-internal.h (class compile_file_names): New class. * compile/compile-object-load.c (compile_object_load): Replace object_file and source_file parameters with a compile_file_names parameter. Adjust. * compile-object-load.h: Include "compile-internal.h". (compile_object_load): Replace object_file and source_file parameters with a compile_file_names parameter. * compile/compile-c-support.c (c_compute_program): Now returns a std::string. Use ui_file_as_string. * compile/compile.c (get_new_file_names): Remove parameters and return a compile_file_names instead. (compile_to_object): Now returns a compile_file_names. Use ui_file_as_string. (eval_compile_command): Use compile_file_names. * language.h (struct language_defn) <la_compute_program>: Now returns std::string.
Diffstat (limited to 'gdb/language.h')
-rw-r--r--gdb/language.h14
1 files changed, 7 insertions, 7 deletions
diff --git a/gdb/language.h b/gdb/language.h
index d6f932ea819..758f265cd45 100644
--- a/gdb/language.h
+++ b/gdb/language.h
@@ -406,8 +406,8 @@ struct language_defn
If 'la_get_gcc_context' is not defined, then this method is
ignored.
- This takes the user-supplied text and returns a newly malloc'd
- bit of code to compile. The caller owns the result.
+ This takes the user-supplied text and returns a new bit of code
+ to compile.
INST is the compiler instance being used.
INPUT is the user's input text.
@@ -416,11 +416,11 @@ struct language_defn
parsed.
EXPR_PC is the PC at which the expression is being parsed. */
- char *(*la_compute_program) (struct compile_instance *inst,
- const char *input,
- struct gdbarch *gdbarch,
- const struct block *expr_block,
- CORE_ADDR expr_pc);
+ std::string (*la_compute_program) (struct compile_instance *inst,
+ const char *input,
+ struct gdbarch *gdbarch,
+ const struct block *expr_block,
+ CORE_ADDR expr_pc);
/* Add fields above this point, so the magic number is always last. */
/* Magic number for compat checking. */