From c184e58c4d1aec200954f00b067e5adecd787f2f Mon Sep 17 00:00:00 2001 From: Prathamesh Kulkarni Date: Thu, 11 Jan 2018 12:13:42 +0000 Subject: [PATCH] re PR target/83514 (ABRT in arm_declare_function_name passing a null pointer to std::string) 2018-01-11 Prathamesh Kulkarni PR target/83514 * config/arm/arm.c (arm_declare_function_name): Set arch_to_print if targ_options->x_arm_arch_string is non NULL. From-SVN: r256529 --- gcc/ChangeLog | 6 ++++++ gcc/config/arm/arm.c | 9 +++++++-- 2 files changed, 13 insertions(+), 2 deletions(-) diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 48e2def073f..7ff69030e1a 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,9 @@ +2018-01-11 Prathamesh Kulkarni + + PR target/83514 + * config/arm/arm.c (arm_declare_function_name): Set arch_to_print if + targ_options->x_arm_arch_string is non NULL. + 2018-01-11 Tamar Christina * config/aarch64/aarch64.h diff --git a/gcc/config/arm/arm.c b/gcc/config/arm/arm.c index 196aa6de1ac..978c44af327 100644 --- a/gcc/config/arm/arm.c +++ b/gcc/config/arm/arm.c @@ -30953,8 +30953,13 @@ arm_declare_function_name (FILE *stream, const char *name, tree decl) gcc_assert (targ_options); /* Only update the assembler .arch string if it is distinct from the last - such string we printed. */ - std::string arch_to_print = targ_options->x_arm_arch_string; + such string we printed. arch_to_print is set conditionally in case + targ_options->x_arm_arch_string is NULL which can be the case + when cc1 is invoked directly without passing -march option. */ + std::string arch_to_print; + if (targ_options->x_arm_arch_string) + arch_to_print = targ_options->x_arm_arch_string; + if (arch_to_print != arm_last_printed_arch_string) { std::string arch_name -- 2.30.2