mirror of
https://gcc.gnu.org/git/gcc.git
synced 2024-11-23 19:03:59 +08:00
RISC-V: Fix mismatched new delete for unique_ptr
gcc/ChangeLog: * config/riscv/riscv-target-attr.cc (riscv_target_attr_parser::parse_arch): Use char[] for std::unique_ptr to prevent mismatched new delete issue. (riscv_process_one_target_attr): Ditto. (riscv_process_target_attr): Ditto.
This commit is contained in:
parent
9419b40882
commit
5f4499606e
@ -105,7 +105,7 @@ riscv_target_attr_parser::parse_arch (const char *str)
|
||||
{
|
||||
/* Parsing the extension list like "+<ext>[,+<ext>]*". */
|
||||
size_t len = strlen (str);
|
||||
std::unique_ptr<char> buf (new char[len]);
|
||||
std::unique_ptr<char[]> buf (new char[len]);
|
||||
char *str_to_check = buf.get ();
|
||||
strcpy (str_to_check, str);
|
||||
const char *token = strtok_r (str_to_check, ",", &str_to_check);
|
||||
@ -241,7 +241,7 @@ riscv_process_one_target_attr (char *arg_str,
|
||||
return false;
|
||||
}
|
||||
|
||||
std::unique_ptr<char> buf (new char[len]);
|
||||
std::unique_ptr<char[]> buf (new char[len]);
|
||||
char *str_to_check = buf.get();
|
||||
strcpy (str_to_check, arg_str);
|
||||
|
||||
@ -327,7 +327,7 @@ riscv_process_target_attr (tree args, location_t loc, struct gcc_options *opts)
|
||||
return false;
|
||||
}
|
||||
|
||||
std::unique_ptr<char> buf (new char[len]);
|
||||
std::unique_ptr<char[]> buf (new char[len]);
|
||||
char *str_to_check = buf.get ();
|
||||
strcpy (str_to_check, TREE_STRING_POINTER (args));
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user