This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Re: protected alloca class for malloc fallback
On August 6, 2016 12:15:26 PM GMT+02:00, Aldy Hernandez <aldyh@redhat.com> wrote:
>On 08/05/2016 04:07 PM, Richard Biener wrote:
>> On August 5, 2016 8:15:54 PM GMT+02:00, Oleg Endo
><oleg.endo@t-online.de> wrote:
>>> On Fri, 2016-08-05 at 19:55 +0200, Richard Biener wrote:
>>>
>>>>
>>>> Please don't use std::string. For string building you can use
>>>> obstacks.
>>>>
>>>
>>> Just out of curiosity ... why? I remember there was some discussion
>>> about it, what was the conclusion? Is that now a general rule or
>does
>>> it depend on the context where strings are used?
>>
>> Because you make a messy mix of string handling variants.
>Std::string is not powerful enough to capture all uses, it is vastly
>more expensive to embed into structs and it pulls in too much headers.
>> (Oh, and I hate I/o streams even more)
>
>Oh, and there is prior use in ipa-chkp.c, although I suppose it
>could've
>crept in:
Definitely.
>
> std::string s;
>
> /* called_as_built_in checks DECL_NAME to identify calls to
> builtins. We want instrumented calls to builtins to be
> recognized by called_as_built_in. Therefore use original
> DECL_NAME for cloning with no prefixes. */
> s = IDENTIFIER_POINTER (DECL_NAME (fndecl));
> s += ".chkp";
> DECL_NAME (new_decl) = get_identifier (s.c_str ());
>
>You can't tell me obstacks are easier on the eyes for this ;-).
Even strcat is shorter and cheaper.
Richard.
>Aldy