From 71790f398e119c7fed867b0cfce60a7500629dff Mon Sep 17 00:00:00 2001 From: Martin Sebor Date: Tue, 15 Jun 2021 12:42:06 -0600 Subject: [PATCH] Consider size_t mangling as unsigned int and long [PR100876]. gcc/ChangeLog: PR middle-end/100876 * builtins.c: (gimple_call_return_array): Account for size_t mangling as either unsigned int or unsigned long --- gcc/builtins.c | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/gcc/builtins.c b/gcc/builtins.c index 75419cc4edc..855ad1eb6bb 100644 --- a/gcc/builtins.c +++ b/gcc/builtins.c @@ -5183,8 +5183,12 @@ gimple_call_return_array (gimple *stmt, offset_int offrng[2], || DECL_IS_REPLACEABLE_OPERATOR_NEW_P (fn)) return NULL_TREE; + /* Check the mangling, keeping in mind that operator new takes + a size_t which could be unsigned int or unsigned long. */ tree fname = DECL_ASSEMBLER_NAME (fn); - if (!id_equal (fname, "_ZnwmPv") // ordinary form + if (!id_equal (fname, "_ZnwjPv") // ordinary form + && !id_equal (fname, "_ZnwmPv") // ordinary form + && !id_equal (fname, "_ZnajPv") // array form && !id_equal (fname, "_ZnamPv")) // array form return NULL_TREE;