GiNaC/ginac symmetry.cpp symmetry.h

Richard B. Kreckel kreckel at thep.physik.uni-mainz.de
Tue Jun 19 12:41:04 CEST 2001


> Update of /home/cvs/GiNaC/ginac
> 
> Added Files:
> 	symmetry.cpp symmetry.h 
> Log Message:
> introduced new class for constructing symmetry tree definitions

This patch entirely breaks ginaccint!

An analysis shows that along with a funny new bug it triggers four
long-standing, many times reported and never truly fixed problems in Cint:

1) failure to recognize `unsigned' as `unsigned int',
2) occassional ommission of namespace qualifiers in generated G__cpp_foobar.C,
3) the whole std-container<..., malloc_alloc> disaster and
4) not standard-conforming *ancient* HP-derived STL.  (*)

The problem was isolated and reported but I don't hold my breath on this.

I wonder how the Cern folks can be so proud of this product and I am now
quite happy that we made the decision to separate ginaccint out of GiNaC.  
It only holds up development.  I can hear Fermilab C++-hocho Walter
Brown's upset voice: "If you have something that's broken, you either fix
it or you throw it away!".

Happy hacking
            -richy.

(*) As an aside, I am under the impression that you can easily detect
    HP-derived headers on a compiler by triggering this bug:
    #include <list.h>
    struct foo { list<foo> children; };
    Incidentally, Micro$oft VC++-6.0 doesn't eat it for the same reason
    the HP-STL doesn't eat it.  It's amazing how many compilers barf at
    this seemingly innocent piece of code and when you look at the list
    header you almost certainly find that it was forked from STL before
    it's development went over to SGI.
-- 
Richard Kreckel
<Richard.Kreckel at Uni-Mainz.DE>
<http://wwwthep.physik.uni-mainz.de/~kreckel/>





More information about the GiNaC-devel mailing list