RE: [ROOT] rootcint and ostringstream

From: Philippe Canal (pcanal@fnal.gov)
Date: Fri Oct 15 2004 - 16:15:37 MEST


Hi,

You can use G__GNUC and G__GNUC_MINOR

Cheers,
Philippe 

-----Original Message-----
From: Alessandro Thea [mailto:Alessandro.Thea@ge.infn.it] 
Sent: Friday, October 15, 2004 3:17 AM
To: Philippe Canal
Cc: 'Alessandro Thea'; 'roottalk'; 'Masaharu Goto'
Subject: Re: [ROOT] rootcint and ostringstream

Hi,
after reading your mail I tried to add the following lines to the header of
my class:

#ifndef __MAKECINT__
typedef ostringstream ostrstream;
typedef stringstreambase strstreambase;
#endif  /*__MAKECINT__*/

the #ifndef is needed to hide stringstreambase to rootcint because it seems
not to know that class.
It works well with gcc 2.96 but it doesn't with 3.32...
Does exist a way to let the preprocessor know which is the current compiler
version?
Any suggestion would be greatly appreciated...

Thanks,
Alessandro

Philippe Canal wrote:

>Hi,
>
>The iostream CINT implementation used for gcc 2.96 is indeed typedefing 
>ostrstream to ostringstream.
>Fixing the problem would requires to regenerate this layer (and 
>possibility having to modify some of the header file used in the process).
>
>Cheers,
>Philippe.
>
>-----Original Message-----
>From: owner-roottalk@pcroot.cern.ch 
>[mailto:owner-roottalk@pcroot.cern.ch]
>On Behalf Of Alessandro Thea
>Sent: Thursday, October 14, 2004 12:22 PM
>To: roottalk
>Subject: [ROOT] rootcint and ostringstream
>
>Hi all,
>I have a problem with dictionary generated by rootcint and ostringstream.
>We have a class EsafMsg inheriting from ostringstream. It compiles 
>well, both source and rootcint dictionary, on RedHat 9, gcc 3.32 but 
>when I mov to RedHat 7.2 gcc 2.96 something strange happens.
>rootcint misinterpret ostringstream and put in the dictionary "ostrstream"
>instread of "ostringstream". g++ compiles EsafMsg, no errors, but when 
>tries to compile the dictionary complains because "ostrstream" is not
defined.
>The same error applies also to "stringstringbase" <--> "strstringbase"
>I have to add that the linux boxes I'm trying to compile EsafMsg on are 
>in Lyon Computer Center and it's very likely that rootcint get fooled 
>by some local setting.
>I've also checked the dictionary created on RH9 and there 
>"ostringstream" is used correctly.
>My question is: there is a way to understand why or where rootcint 
>decide to use ostrstream instead of  ostringstream?
>
>Thanks,
>Alessandro
>
>--
>_______________________________________________________________________
>___
>
>  Alessandro Thea
>  Ph.D. Student
>  Dipartimento di Fisica dell'Universita' di Genova and  Istituto 
> Nazionale di Fisica Nucleare, Sezione di Genova,  Via Dodecaneso 33, 
> I-16146, Genova, Italia.
>  
>  Tel: +39 010 3536468               E-Mail: Alessandro.Thea@ge.infn.it 
>_______________________________________________________________________
>___
>
>  
>


--
__________________________________________________________________________

  Alessandro Thea
  Ph.D. Student
  Dipartimento di Fisica dell'Universita' di Genova and
  Istituto Nazionale di Fisica Nucleare, Sezione di Genova,
  Via Dodecaneso 33, I-16146, Genova, Italia.
  
  Tel: +39 010 3536468               E-Mail: Alessandro.Thea@ge.infn.it 
__________________________________________________________________________



This archive was generated by hypermail 2b29 : Sun Jan 02 2005 - 05:50:10 MET