Recent the SVN HEAD version of ROOT (on Linux) has been generating
rootcint output that can't be compiled under gcc v3.4.3. The
problematic
bit is the existence of "::void*" in the source. If this is changed
to simply "void*" then the rootcint output compiles.
The source:
class EvtKinFactory {
public:
/// pointer to function creating FluxGenerator typedef FluxGenerator* (*FluxCreator)(); private: /// map of creator function pointers keyed by name typedef std::map<std::string, FluxCreator> CallbackMapFlux; CallbackMapFlux fFluxCallbacks;
};
Produces PackageCint.cc that contains:
#if !(defined(R__ACCESS_IN_SYMBOL) || defined (R__USE_SHADOW_CLASS))
typedef ::EvtKinFactory EvtKinFactory; #else class EvtKinFactory { public: //friend XX; typedef void* (*FluxCreator)() ;
typedef ::std::map< ::string, ::void*, ::less< ::string>, ::allocator< : :pair<const ::string, void* > > > CallbackMapFlux;
CallbackMapFlux fFluxCallbacks; // }; #endif
Which when compiled generates the errors:
BLAH/EventKinematicsCint.cc:78: error: template argument 2 is invalid BLAH/EventKinematicsCint.cc:78: error: template argument 4 is invalid BLAH/EventKinematicsCint.cc:78: error: expected unqualified-id before',' token
Robert W. Hatcher | rhatcher_at_fnal.gov 630-840-3102 FNAL CD/REX (MINOS) | MS 220, PO Box 500, Batavia IL 60510 Received on Sat Aug 15 2009 - 00:51:56 CEST
This archive was generated by hypermail 2.2.0 : Sat Aug 15 2009 - 17:50:02 CEST