diff options
author | Prathamesh Kulkarni <prathamesh.kulkarni@linaro.org> | 2018-01-11 12:13:42 +0000 |
---|---|---|
committer | Prathamesh Kulkarni <prathamesh3492@gcc.gnu.org> | 2018-01-11 12:13:42 +0000 |
commit | c184e58c4d1aec200954f00b067e5adecd787f2f (patch) | |
tree | a28b8d88b7eb2a0cba2ea6e531b238bfc1617447 /gcc | |
parent | bf6f2cc7be78a36b1648cdc9619b8fe98475825d (diff) | |
download | gcc-c184e58c4d1aec200954f00b067e5adecd787f2f.zip gcc-c184e58c4d1aec200954f00b067e5adecd787f2f.tar.gz gcc-c184e58c4d1aec200954f00b067e5adecd787f2f.tar.bz2 |
re PR target/83514 (ABRT in arm_declare_function_name passing a null pointer to std::string)
2018-01-11 Prathamesh Kulkarni <prathamesh.kulkarni@linaro.org>
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
Diffstat (limited to 'gcc')
-rw-r--r-- | gcc/ChangeLog | 6 | ||||
-rw-r--r-- | gcc/config/arm/arm.c | 9 |
2 files changed, 13 insertions, 2 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 48e2def..7ff6903 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,9 @@ +2018-01-11 Prathamesh Kulkarni <prathamesh.kulkarni@linaro.org> + + 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 <tamar.christina@arm.com> * config/aarch64/aarch64.h diff --git a/gcc/config/arm/arm.c b/gcc/config/arm/arm.c index 196aa6d..978c44a 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 |