Re: Problem wiith name mangling of template classes in dictionary files after changing optimisation flag...

From: Axel Naumann <Axel.Naumann_at_cern.ch>
Date: Mon, 9 Mar 2009 12:35:56 +0100


Hi Pierre-Luc,

interesting! At least as a first step you should try to compile all of CINT with -ip instead of -ipo; simply set CINTCXXFLAGS in the Makefile.icc* that you used. Let me know if that helps.

On the other hand, most of ROOT is functions that are meant to be callable by users. It's not a boxed piece of software, so I am not sure how much you really gain by multi-file optimization.

Cheers, Axel.

Pierre-Luc Drouin wrote:
> Hi,
>
> I compiled 5.22.00 using icc with -ipo and now my own dictionary files
> for template classes are not generated properly. For example I get lines
> like this:
>
> typedef ::ROOT::Shadow::QList<double*> ShadowClass;
>
> instead of this
>
> typedef ::ROOT::Shadow::QListlEdoublemUgR ShadowClass;
>
> If I compile ROOT with -ip instead of -ipo (single file optimisation
> instead of multi-file), everything works fine. Do you know if this can
> be easily fixed or if not which source file/libray should be compiled
> without ipo to allow generating these correctly?
>
> Thank you!
> Pierre-Luc Drouin
>
>
Received on Mon Mar 09 2009 - 12:33:55 CET

This archive was generated by hypermail 2.2.0 : Mon Mar 09 2009 - 17:50:01 CET