New Problem with latest version of ROOT

Hello,

I just rebuilt root from git as of today.
I am getting new errors from rootcint having changed nothing in my code. :open_mouth: [-X

[code]rootcint -f src/InSANEClusterDict.cxx -c -O0 -Wall -fPIC -pthread -m32 -I/usr/local/root/include -I/usr/local/root/include -Iinclude -I. -I/usr/local/include -I/usr/include/mysql -g -pipe -I/usr/local/include -I/usr/local/include -D"InSANE_PDF_GRID_DIR="/home/whit/sane08/InSANE/main/grid"" -p -DDebug
include/BIGCALCluster.h include/BIGCALClusterProcessor.h include/InSANEClusterProcessor.h include/Pi0ClusterPair.h include/InSANECluster.h include/InSANECalorimeterCluster.h include/LocalMaxClusterProcessor.h include/KMeansClusterProcessor.h include/InSANEClusterPartitioning.h include/SANEClusteringAnalysis.h include/InSANECluster_LinkDef.h
In file included from InSANEClusterDict.cxx.h:1:
In file included from input_line_9:1:
In file included from ./include/BIGCALCluster.h:8:
In file included from include/BETAEvent.h:5:
/usr/local/root/include/TTree.h:342:28: error: expected member name or ‘;’ after declaration specifiers
Int_t Debug() const { return fDebug; }

<built-in>:166:15: note: expanded from here
#define Debug 1
           ^
[/code]

Thanks !  :slight_smile:

Hi,

looks like before you didn’t define Debug on the rootcint command line. TTree::Debug has been there since 2001 and it would have clashed before.

I am telling you that this is a NEW problem. It never crashed before.
If you look carefully it is a bug in ROOT!

Hi,

I didn’t check the behavior of rootcint for this case (which rootcint btw?, the one from 5-34-00-patches or from master?), but what you do only worked because rootcint might not have parsed the define from the command line.

You set -DDebug which defines Debug 1 on the preprocessor level. A preprocessor would then dutifully replace all mentions of Debug in source files with 1, so that e.g. TTree::Debug() becomes TTree::1. This might have accidentally worked with some version of rootcint, but when rootcint starts to correctly parse your define I wouldn’t call that a bug (but rather the fact that it ignored them before). Maybe you need to rethink the way you build your code.

Ah. I see. Thank you for your replies!

I am having other runtime problems which I will post in a new thread.