This is the mail archive of the
mailing list for the GCC project.
Re: [PING] Function versioning and IPCP extension
- From: Razya Ladelsky <RAZYA at il dot ibm dot com>
- To: Diego Novillo <dnovillo at redhat dot com>
- Cc: gcc-patches at gcc dot gnu dot org
- Date: Wed, 27 Jul 2005 17:54:52 +0300
- Subject: Re: [PING] Function versioning and IPCP extension
Diego Novillo <firstname.lastname@example.org> wrote on 27/07/2005 15:43:29:
> On Wed, Jul 27, 2005 at 02:58:12PM +0300, Razya Ladelsky wrote:
> > The functionality of create_tmp_var_name is not enough.
> > We need to add code that replaces non-alphanumeric characters
> > with the character '_'.
> > For instance operator<< should be replaced with operator__.
> Yes, I can see what the function does. I need to understand
> "why". Are you exporting these names to the debug info and need
> only alphanumeric characters to not confuse the debugger, or
The mangled name is not available at the point we perfom versioning.
We create an unmangled name which remains the name of the versioned
and becomes the final assembly name (it does not get mangled).
Non-alphanumeric characters may be translated into a non-valid assembly
Therefore, when we create the versioned name, it is our responsibility to
a valid assembly name.
> > For the moment versioning code uses inlining code and shares the same
> > restrictions.
> > This is due to the way in which versioning is currently implemented.
> > Basically almost every function could be versioned, and versioning
> > have its
> > own criteria.
> If you need to untie yourself from the inlining code, then let's
> do that. How much extra work would that be? If necessary, you
> could do it as a follow-up patch.
I'm not sure that the changes required are trivial and can be implemented
in a short time.
I certainly intend to do this at a later stage.