aboutsummaryrefslogtreecommitdiff
path: root/gdb
diff options
context:
space:
mode:
authorSimon Marchi <simon.marchi@efficios.com>2024-07-24 15:07:15 -0400
committerSimon Marchi <simon.marchi@efficios.com>2024-07-30 08:52:57 -0400
commitb1da98a74656685087b0afd97af8080edc78d995 (patch)
tree25d19870283c955ad651482e88d7704d56bf037f /gdb
parent1cb8a69ec2955e736e24340ef476fed5abeb7703 (diff)
downloadgdb-b1da98a74656685087b0afd97af8080edc78d995.zip
gdb-b1da98a74656685087b0afd97af8080edc78d995.tar.gz
gdb-b1da98a74656685087b0afd97af8080edc78d995.tar.bz2
gdb: remove use of alloca in new_macro_definition
Replace alloca with std::vector. Change-Id: Ie8756da09126f6808e5b52c43388ad9324e8ad2c Approved-By: Tom de Vries <tdevries@suse.de>
Diffstat (limited to 'gdb')
-rw-r--r--gdb/macrotab.c9
1 files changed, 4 insertions, 5 deletions
diff --git a/gdb/macrotab.c b/gdb/macrotab.c
index 81fe165..21ec152 100644
--- a/gdb/macrotab.c
+++ b/gdb/macrotab.c
@@ -564,15 +564,14 @@ new_macro_definition (macro_table *t, macro_kind kind,
d->argc = argv.size ();
/* Bcache all the arguments. */
- int i = 0;
- int cached_argv_size = argv.size () * sizeof (const char *);
- const char **cached_argv = (const char **) alloca (cached_argv_size);
+ std::vector<const char *> cached_argv;
for (const auto &arg : argv)
- cached_argv[i++] = macro_bcache_str (t, arg.c_str ());
+ cached_argv.push_back (macro_bcache_str (t, arg.c_str ()));
/* Now bcache the array of argument pointers itself. */
- d->argv = macro_bcache (t, cached_argv, cached_argv_size);
+ d->argv = macro_bcache (t, cached_argv.data (),
+ cached_argv.size () * sizeof (const char *));
}
else
d->argc = special_kind;