diff options
author | Andrew Burgess <andrew.burgess@embecosm.com> | 2020-11-13 11:03:05 +0000 |
---|---|---|
committer | Andrew Burgess <andrew.burgess@embecosm.com> | 2020-11-13 13:51:09 +0000 |
commit | 5a7cf52794e4284a9ab7ea1a8b6c6ae8de94a276 (patch) | |
tree | 6064e76fde2093b02b876342220e180a6bd388a5 /gdb/f-lang.c | |
parent | 48f4d8ce966e20e1e759e29ca8cf05a5dd328883 (diff) | |
download | binutils-5a7cf52794e4284a9ab7ea1a8b6c6ae8de94a276.zip binutils-5a7cf52794e4284a9ab7ea1a8b6c6ae8de94a276.tar.gz binutils-5a7cf52794e4284a9ab7ea1a8b6c6ae8de94a276.tar.bz2 |
gdb: delete a couple of declarations from f-lang.h
One declaration in f-lang.h is for a function that doesn't even exist,
another is for a function that is only used within f-lang.c.
One declaration is deleted, the other function I make static in
f-lang.c.
gdb/ChangeLog:
* f-lang.c (fortran_argument_convert): Add declaration. Add
header comment, taken from f-lang.h. Make static.
* f-lang.h (f77_get_dynamic_array_length): Delete declaration.
(fortran_argument_convert): Delete declaration.
Diffstat (limited to 'gdb/f-lang.c')
-rw-r--r-- | gdb/f-lang.c | 19 |
1 files changed, 17 insertions, 2 deletions
diff --git a/gdb/f-lang.c b/gdb/f-lang.c index 75cc05e..ec5d6d1 100644 --- a/gdb/f-lang.c +++ b/gdb/f-lang.c @@ -41,6 +41,9 @@ /* Local functions */ +static struct value *fortran_argument_convert (struct value *value, + bool is_artificial); + /* Return the encoding that should be used for the character type TYPE. */ @@ -844,9 +847,21 @@ _initialize_f_language () f_type_data = gdbarch_data_register_post_init (build_fortran_types); } -/* See f-lang.h. */ +/* Ensures that function argument VALUE is in the appropriate form to + pass to a Fortran function. Returns a possibly new value that should + be used instead of VALUE. + + When IS_ARTIFICIAL is true this indicates an artificial argument, + e.g. hidden string lengths which the GNU Fortran argument passing + convention specifies as being passed by value. -struct value * + When IS_ARTIFICIAL is false, the argument is passed by pointer. If the + value is already in target memory then return a value that is a pointer + to VALUE. If VALUE is not in memory (e.g. an integer literal), allocate + space in the target, copy VALUE in, and return a pointer to the in + memory copy. */ + +static struct value * fortran_argument_convert (struct value *value, bool is_artificial) { if (!is_artificial) |