Possible bug with rootcint and const char[]

Hello,

I appologize if this is a known problem - I did a quick google search and didn't find anything.  I've got rootcint seg faulting, both in root 3_10 and 4_00. 

I’ve tracked the source of the seg faulting down to the following code:

   const char kElectronClassName[] = "CLPElectron";
   const char kMuonClassName[] = "CLPMuon";
   const char kJetClassName[] = "CLPJet";
   const char kTrackClassName[] = "CLPTrack";
   const char kHepgObjectClassName[] = "CLPHEPGObject";
   const char kHepgContClassName[] = "CLPHEPGCont";

will case the code to segfault while

   const char kElectronClassName[20] = "CLPElectron";
   const char kMuonClassName[20] = "CLPMuon";
   const char kJetClassName[20] = "CLPJet";
   const char kTrackClassName[20] = "CLPTrack";
   const char kHepgObjectClassName[20] = "CLPHEPGObject";
   const char kHepgContClassName[20] = "CLPHEPGCont";

is o.k.

The both are valid C++ code.

In both cases, I’m calling rootcint as following

cplager@fcdflnx6> rootcint -f src/dict_CLPCandidateFCNC.C -c -Idict -Iinclude -I../include CLPCandidateFCNC.h CLPCandidateFCNC_linkdef.h
Segmentation fault
cplager@fcdflnx6> 

Hi,

I think that the problem has been in solved in ROOT 4.02/00.
To work around the problem use something like

#ifndef __CINT__ const char kElectronClassName[] = "CLPElectron"; const char kMuonClassName[] = "CLPMuon"; const char kJetClassName[] = "CLPJet"; const char kTrackClassName[] = "CLPTrack"; const char kHepgObjectClassName[] = "CLPHEPGObject"; const char kHepgContClassName[] = "CLPHEPGCont"; #endif

Cheers,
Philippe