aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorChristoph Müllner <christoph.muellner@vrull.eu>2024-07-15 23:42:39 +0200
committerChristoph Müllner <christoph.muellner@vrull.eu>2024-07-15 23:42:39 +0200
commiteb0c163aada970b8351067b17121f013fc58dbc9 (patch)
tree4d138c7dfcbcc081170068e35244239b928516d0
parent61c21a719e205f70bd046c6a0275d1a3fd6341a4 (diff)
downloadgcc-eb0c163aada970b8351067b17121f013fc58dbc9.zip
gcc-eb0c163aada970b8351067b17121f013fc58dbc9.tar.gz
gcc-eb0c163aada970b8351067b17121f013fc58dbc9.tar.bz2
Revert "RISC-V: Attribute parser: Use alloca() instead of new + std::unique_ptr"
This reverts commit 5040c273484d7123a40a99cdeb434cecbd17a2e9.
-rw-r--r--gcc/config/riscv/riscv-target-attr.cc9
1 files changed, 6 insertions, 3 deletions
diff --git a/gcc/config/riscv/riscv-target-attr.cc b/gcc/config/riscv/riscv-target-attr.cc
index 57235c9..1645a66 100644
--- a/gcc/config/riscv/riscv-target-attr.cc
+++ b/gcc/config/riscv/riscv-target-attr.cc
@@ -101,7 +101,8 @@ riscv_target_attr_parser::parse_arch (const char *str)
{
/* Parsing the extension list like "+<ext>[,+<ext>]*". */
size_t len = strlen (str);
- char *str_to_check = (char *) alloca (len + 1);
+ std::unique_ptr<char[]> buf (new char[len+1]);
+ char *str_to_check = buf.get ();
strcpy (str_to_check, str);
const char *token = strtok_r (str_to_check, ",", &str_to_check);
const char *local_arch_str = global_options.x_riscv_arch_string;
@@ -253,7 +254,8 @@ riscv_process_one_target_attr (char *arg_str,
return false;
}
- char *str_to_check = (char *) alloca (len + 1);
+ std::unique_ptr<char[]> buf (new char[len+1]);
+ char *str_to_check = buf.get();
strcpy (str_to_check, arg_str);
char *arg = strchr (str_to_check, '=');
@@ -339,7 +341,8 @@ riscv_process_target_attr (tree args, location_t loc)
return false;
}
- char *str_to_check = (char *) alloca (len + 1);
+ std::unique_ptr<char[]> buf (new char[len+1]);
+ char *str_to_check = buf.get ();
strcpy (str_to_check, TREE_STRING_POINTER (args));
/* Used to catch empty spaces between semi-colons i.e.