From: Martin Sebor Date: Thu, 17 Jun 2021 18:22:28 +0000 (-0600) Subject: Backported from trunk: X-Git-Tag: releases/gcc-11.2.0~195 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=00bf3e4d12944e659b3a3706ca720f1d6346e610;p=thirdparty%2Fgcc.git Backported from trunk: 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 --- diff --git a/gcc/builtins.c b/gcc/builtins.c index 6f3ace5d1248..73c12e3bb8c3 100644 --- a/gcc/builtins.c +++ b/gcc/builtins.c @@ -5171,8 +5171,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;