From: Kito Cheng Date: Sat, 18 Nov 2023 10:37:11 +0000 (+0800) Subject: RISC-V: Fix mismatched new delete for unique_ptr X-Git-Tag: basepoints/gcc-15~4564 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=5f4499606ea6ab49bec30e83209db71e52d0b267;p=thirdparty%2Fgcc.git 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. --- diff --git a/gcc/config/riscv/riscv-target-attr.cc b/gcc/config/riscv/riscv-target-attr.cc index 78f259d0c96e..c4bd99d8632a 100644 --- a/gcc/config/riscv/riscv-target-attr.cc +++ b/gcc/config/riscv/riscv-target-attr.cc @@ -105,7 +105,7 @@ riscv_target_attr_parser::parse_arch (const char *str) { /* Parsing the extension list like "+[,+]*". */ size_t len = strlen (str); - std::unique_ptr buf (new char[len]); + std::unique_ptr 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 buf (new char[len]); + std::unique_ptr 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 buf (new char[len]); + std::unique_ptr buf (new char[len]); char *str_to_check = buf.get (); strcpy (str_to_check, TREE_STRING_POINTER (args));