diff options
author | Pedro Alves <palves@redhat.com> | 2016-11-08 15:26:46 +0000 |
---|---|---|
committer | Pedro Alves <palves@redhat.com> | 2016-11-08 15:26:46 +0000 |
commit | aaee65aea29ac8f7317e866d5dbef9f96cfdb253 (patch) | |
tree | 57f18e9d5f250a7c7b8f974850dcd8676705fdae /gdb/language.h | |
parent | 3d8b0d9483f6eabc2c1739ac3dd64c30061a6a72 (diff) | |
download | gdb-aaee65aea29ac8f7317e866d5dbef9f96cfdb253.zip gdb-aaee65aea29ac8f7317e866d5dbef9f96cfdb253.tar.gz gdb-aaee65aea29ac8f7317e866d5dbef9f96cfdb253.tar.bz2 |
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.h | 14 |
1 files changed, 7 insertions, 7 deletions
diff --git a/gdb/language.h b/gdb/language.h index d6f932e..758f265 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. */ |