Automatic assignment operator troubles with ICC compiler

The compilation of the RootCint dictionary propduced by ROOT from the CVS
(CINT/ROOT C/C++ Interpreter version 5.15.131, Apr 6 200)
cause the compilation error under icc. The dictionary for the same class gave us no problem with the previous Root/Cint versions.

To reproduce
run “reveal.csh” from the tar file attached.
The tar files contains the reveal.log witrh the error message in question
iccTrouble.tar.gz (10.5 KB)

Hi Valeri,

This is consequence of the fact that we added the generation of the operator= in more cases. This is necessary for the proper functioning of many cases.

Anyway, in your case there is a bug (it should detect that class deriving from ostrstream can not have an operator=). I will fix this problem

In the meantime you can work-around it by simply adding to your class:

private: StMessMgr &perator=(const StMessMgr &); // intentionally private and not implemented.


Hi Philippe

I did understand where is the problem came from (see my subj)
and I had introduced the workaround yours alike. It did help.
However STAR would appreciate to see the clean solution.

Thank you.


The problem is solved in cint 5.15.133.