On 03/31/11 05:22 PM, Volker Braun wrote:

As Dave Kirby remarked,
right now it compiles on a couple of gcc releases and essentially no other
compiler. And thats hardly a surprise if you look at the code. At the very
least the endless compiler warnings need to be looked at / fixed.


Micheal did a while back say:

"The antiquated header files and unused variables have been removed in L-1.3,
which has not yet been released to the public. It should be released in the
next couple of weeks"

http://groups.google.com/group/sage-support/browse_thread/thread/fab46afe7a8ac1c2/a3fe854a9fb88ed6?lnk=gst&q=lcalc+1.3#a3fe854a9fb88ed6

I don't know if he has had time to address that. Are we using an old version? Perhaps he has released 1.3. I can't find it I must admit, but nearly all lcalc references on Google seem to be related to Sage.

One thing that might help him improve the code is to run it though the Sun Studio compiler, which can be downloaded and installed on Linux, either as an rpm or a tar file which does not need root access to install.

http://www.oracle.com/technetwork/server-storage/solarisstudio/downloads/index.html

That is more strict that gcc, and would pick up some of these problems. Perhaps he is not aware of that.

Could someone install that on sage.math? If code will compile that Sun Studio, and compile with gcc version n, we can be pretty sure it will compile with gcc n+1. Clearly we are finding code which is breaking as gcc gets stricter, whereas the Sun compiler would never have accepted it in the first place.

Singular, PolyBoRi and lcalc are three packages which have become broken when updating from gcc 4.5.x to 4.6.0

I recently played with a static analysis tool, cppcheck:

http://sourceforge.net/apps/mediawiki/cppcheck/index.php?title=Main_Page

which is might be of use too, though I was not over-impressed. I tried it on some of my own code, but whilst it found some issues, all were non-issues. It did not find any problems at all with lcalc. It also generates a seg fault after it has finished running

Checking ./Lglobals.cc: USE_MPFR...
10/15 files checked 66% done
Checking ./Lmisc.cc...
11/15 files checked 73% done
Checking ./Lriemannsiegel.cc...
12/15 files checked 80% done
Checking ./Lriemannsiegel_blfi.cc...
13/15 files checked 86% done
Checking ./cmdline.c...
Checking ./cmdline.c: HAVE_CONFIG_H...
14/15 files checked 93% done
Checking ./example_programs/example.cc...
15/15 files checked 100% done
Segmentation Fault (core dumped)

which is not a good advert for a piece of code designed to check code!!

There are some similar commercial tools.

But really cleaning up the compiler warnings and getting standard C or C++ would be the first step. Static code analysis tools could come later, when the code is cleaner.

--
A: Because it messes up the order in which people normally read text.
Q: Why is top-posting such a bad thing?
A: Top-posting.
Q: What is the most annoying thing in e-mail?

Dave

--
To post to this group, send an email to sage-devel@googlegroups.com
To unsubscribe from this group, send an email to 
sage-devel+unsubscr...@googlegroups.com
For more options, visit this group at http://groups.google.com/group/sage-devel
URL: http://www.sagemath.org

Reply via email to