HI,
recently none of my projects compiles anymore with ROOT head, nothing was changed than updating ROOT to the latest cvs (as of now).
The compilation fails in the rootcint generated code segments, like in
>g++ -g -I. --ansi -Wall -Wno-long-long -Wno-strict-aliasing -Df2cFortran -D_GNU_SOURCE -Iinclude
>-I/opt/root/root_head/include -DHAVE_CERNLIBS -o genherwig/bld/G__genherwig.o -c genherwig/G__genherwig.cxx
>./genherwig/THIHerwigBase.h:27: error: ‘template<class T> struct THIHerwigBase::IE_t’ is protected
>genherwig/G__genherwig.h:55: error: within this context
where
class THIHerwigBase : public THIGenerator { protected:
template<typename T = Int_t>
struct IE_t { /*IndexElement*/
public: UInt_t fIndex; //index in common block T fVal; //corresponding value IE_t(UInt_t i=0, T v=0) : fIndex(i),fVal(v) {} virtual ~IE_t() {} ClassDefT(IE_t,1) // Generic parameter given by an index (in common block)};
After a bit of research I figured out that in http://root.cern.ch/viewcvs/utils/src/rootcint.cxx.diff?r1=1.251&r2=1.252&sortby=date a change was performed to not brutally overwrite protect and private with public, but rather to keep the access pattern assigned by the programmer. This of course is great, but seems not work:
The login message says:
"Remove the #define private public since it is no longer used (we
really on the Shadow classes to replace this technique)."
What are those Shadow classes? Am I supposed to write some code to support the new feature?
Please let me know asap, since lots of code fails to compile and I need to understand the change in HEAD before I can adapt our projects.
Thanks,
Constantin
-- Tel: +1-617-8301823 (SkypeIn) Skype: loizides AOL: ConLoi / ICQ: 114824520Received on Wed Jan 31 2007 - 19:38:56 CET
This archive was generated by hypermail 2.2.0 : Wed Jan 31 2007 - 23:50:01 CET