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@Uni-Mainz.DE> <http://wwwthep.physik.uni-mainz.de/~kreckel/>