C++ and gather-detailed-mem-stats
Gabriel Dos Reis
gdr@integrable-solutions.net
Wed Aug 15 10:07:00 GMT 2012
On Wed, Aug 15, 2012 at 4:37 AM, Richard Guenther <rguenther@suse.de> wrote:
>
> I face an issue with replacing macros with C++ functions and the
> way we implement gather-detailed-mem-stats. Currently the
> mem-stat info is passed at the call site of functions via macros
> like
>
> #define VEC_safe_grow_cleared(T,A,V,I) \
> (VEC_safe_grow_cleared_1<T,A> (&(V), (int)(I) \
> VEC_CHECK_INFO MEM_STAT_INFO))
>
Not every CPP macros can be simply and perfectly
replaced by a C++ template. CPP macros fundamentally operate at
levels not understood by the language core semantics, for good or bad.
You might try to encode/package information with the
parameters T and A, but essentially you will hit the wall
that __FILE__, __LINE__, and __FUNCTION__ are CPP artifacts.
Unless we are willing to fundamentally change the way our
current allocators work, I fear we would have to live with
these parts of CPP.
-- Gaby
More information about the Gcc
mailing list