Re: [ROOT] CINT and macros

From: Fons Rademakers (Fons.Rademakers@cern.ch)
Date: Mon Aug 27 2001 - 15:04:34 MEST


Hi Axel,

 CINT (and therefore rootcint) does not process macro's more than
one level deep. To make this work you must use the -p option like:
rootcint -f dict.cxx -c -p header.h LinkDef.h

Cheers, Fons.



Axel Naumann wrote:
> 
> Hi,
> 
> in some header I have a declaration
> 
> static _NAME2_(LABEL,_Seed) _NAME2_(seedGlObAlStAtIc,LABEL);
> 
> (within a macro, which has LABEL as a parameter).
> 
> Passed by rootcint (with LABEL set to TJCCGJet) this generates the following
> errors:
> 
> Error: No symbol seedGlObAlStAtIc in current scope  FILE:tmpfile LINE:1119
> Error: No symbol TJCCGJet in current scope  FILE:tmpfile LINE:1119
> Error: _Seed_NAME2_ not allocated(1), maybe duplicate declaration
> FILE:tmpfile LINE:1224
> 
> It doesn't complain about anything else. Why does it construct a token
> "_Seed_NAME2_" - apparently a concatenation of "_Seed) _NAME2_"? From
> ClassDef I can see that nested macros and _NAME2_ etc should work... Is the
> "static" the problem?
> 
> Any idea?
> 
> Best regards,
> Axel
> 
> PS: Root 3.01.06, irix.

-- 
Org:    CERN, European Laboratory for Particle Physics.
Mail:   1211 Geneve 23, Switzerland
E-Mail: Fons.Rademakers@cern.ch              Phone: +41 22 7679248
WWW:    http://root.cern.ch/~rdm/            Fax:   +41 22 7679480



This archive was generated by hypermail 2b29 : Tue Jan 01 2002 - 17:50:58 MET