during the last two days i have been compiling my research code
(around 500k lines of c++) using clang (clang 2.9 as downloaded from the
svn 2 days ago).
My code relies hevily on boost python.In doing my compilation i first
compiled boost1.44 with clang (which went fine) and i later used it in
compiling my code.
Apart for minor issues the compilation went fine and the code runs
correctly through the benchamrk example, HOWEVER on exit i get a
The segmentation fault is also confirmed by valgrind.
Our code has been tested (and works correctly) using gcc, intel, sun and
msvc (this last one in windows), and provides a pretty clean valgrind
output (at least as clean as the boost python hello world example).
I am honestly a bit surprised of having such a segfault on our test
examples, and i was wandering if the boost_python stuff has been tested,
in particular with reference to the allocation of "internal_references".
please find attached the output of valgrind for the case of interest,
where i just load our library in python and i close the program.
for reference the gcc output (intel's is very similar) finishes with
==6879== in use at exit: 1,866,386 bytes in 3,436 blocks
==6879== total heap usage: 9,373 allocs, 5,937 frees, 4,125,837 bytes
==6879== LEAK SUMMARY:
==6879== definitely lost: 0 bytes in 0 blocks
==6879== indirectly lost: 0 bytes in 0 blocks
==6879== possibly lost: 368,951 bytes in 361 blocks
==6879== still reachable: 1,497,435 bytes in 3,075 blocks
==6879== suppressed: 0 bytes in 0 blocks
As a secondary thing, i wanted to comment that the compilation time is
not better than gcc. I compiled the clang myself, so i probably did
somethign wrong. In particular i attempted habilitating optimization,
but i probably skipped something to have optimal performance. Any
suggestion on how to make it faster?
thank you in advance for any suggestion you can provide
clang_valgrind.log.tar.gz (9.89 KB)