diff --git a/cintex/src/CINTCommentBuffer.h b/cintex/src/CINTCommentBuffer.h new file mode 100644 index 0000000000000000000000000000000000000000..0339f0108e8545024c8da11265bff9edc4141138 --- /dev/null +++ b/cintex/src/CINTCommentBuffer.h @@ -0,0 +1,39 @@ +// @(#)root/cintex:$Name: $:$Id$ +// Author: Pere Mato 2005 + +// Copyright CERN, CH-1211 Geneva 23, 2004-2005, All rights reserved. +// +// Permission to use, copy, modify, and distribute this software for any +// purpose is hereby granted without fee, provided that this copyright and +// permissions notice appear in all copies and derivatives. +// +// This software is provided "as is" without express or implied warranty. + +#ifndef ROOT_Cintex_CintexCommentBuffer +#define ROOT_Cintex_CintexCommentBuffer + +#include <vector> + +namespace ROOT { namespace Cintex { + class CommentBuffer { + private: + typedef std::vector<char*> VecC; + VecC fC; + CommentBuffer() {} + ~CommentBuffer() { + for(VecC::iterator i=fC.begin(); i != fC.end(); ++i) + delete [] *i; + fC.clear(); + } + public: + static CommentBuffer& Instance() { + static CommentBuffer inst; + return inst; + } + void Add(char* cm) { + fC.push_back(cm); + } + }; +} } + +#endif // ROOT_Cintex_CintexCommentBuffer diff --git a/cintex/src/CINTVariableBuilder.cxx b/cintex/src/CINTVariableBuilder.cxx index acaddbf75d7d6074eab2c49e2062925978b6eb66..6340b90bd066d183396c668600b3d06943a630a0 100644 --- a/cintex/src/CINTVariableBuilder.cxx +++ b/cintex/src/CINTVariableBuilder.cxx @@ -15,6 +15,7 @@ #include "CINTdefs.h" #include "CINTVariableBuilder.h" #include "CINTScopeBuilder.h" +#include "CINTCommentBuffer.h" #include "Api.h" @@ -65,26 +66,6 @@ namespace ROOT { namespace Cintex { return; } - class CommentBuffer { - private: - typedef std::vector<char*> VecC; - VecC fC; - CommentBuffer() {} - ~CommentBuffer() { - for(VecC::iterator i=fC.begin(); i != fC.end(); ++i) - delete [] *i; - fC.clear(); - } - public: - static CommentBuffer& Instance() { - static CommentBuffer inst; - return inst; - } - void Add(char* cm) { - fC.push_back(cm); - } - }; - void CINTVariableBuilder::Setup(const Member& dm ) { // Setup variable info. char* comment = NULL; @@ -162,6 +143,15 @@ namespace ROOT { namespace Cintex { } if ( type.first == 'u' ) { + // Large integer definition depends of the platform +#if defined(_WIN32) && !defined(__CINT__) + typedef __int64 longlong; + typedef unsigned __int64 ulonglong; +#else + typedef long long int longlong; /* */ + typedef unsigned long long int /**/ ulonglong; +#endif + //dependencies.push_back(indir.second); member_tagnum = dm.Properties().HasProperty("iotype") ? CintTag(dm.Properties().PropertyAsString("iotype")) : CintTag(type.second); if ( typeid(longlong) == indir.second.TypeInfo() )