'''Background:''' A certain amount of code is compiled, distributed but never linked to, and cannot possibly be used in OO.o. We have a tool to identify this called 'callcatcher'. A recent run: http://people.redhat.com/caolanm/callcatcher/DEV300_m87/ shows eg. 170 un-used methods in calc alone. These need to be manually verified, to ensure that they are not called from some 'dlsym' type magic, and the code simply discarding. '''Skills:''' building, test, simple C++ programming '''Parts Completed:''' calc - 06/02/2011 - Alfonso Eusebio
List is now at: http://cgit.freedesktop.org/libreoffice/bootstrap/tree/unusedcode.easy
lots of progress here by multiple people. The list is a list of methods unused under Linux in a --enable-debug build. What that means is that a) some of the methods might be used under other platforms or configurations, in which case some platform ifdefs might be called for. b) the methods are just unused totally, which is the usual case, in which case they can go. Some complexities arise because some are generated from macros, e.g. easy-hack bug 38831 is one example of macros that generate huge amounts of unused methods
While reading this, took me a while to realize why was I getting an empty list. I guess that, with the repository change that happened some months ago, this is now http://cgit.freedesktop.org/libreoffice/core/tree/unusedcode.easy ? (And maybe it's useful to add this to the URL field of the report?)
yes indeed, it moved around. Worth noting I think is that a lot of the unused "Insert" "Delete" etc methods are from some archaic macro-based containers, so there is some overlap with bug 38832, where conversion to STL of the objects that are showing unused Insert/Delete methods kills two birds with one stone
Deteted "Easyhack" from summary
Retiring this as an easy hack, the list remains and is regularly regenerated, but non-trivial ones remain that are platform dependent, so they're not "easy" anymore. Do read the unusedcode.README.
Jean-Noël Rouvignac committed a patch related to this issue. It has been pushed to "master": http://cgit.freedesktop.org/libreoffice/core/commit/?id=875c997c7da116402509d0bd75e8c15a66a40529 fdo#39446 - Bloat Removal. Removing uncallable code with callcatcher The patch should be included in the daily builds available at http://dev-builds.libreoffice.org/daily/ in the next 24-48 hours. More information about daily builds can be found at: http://wiki.documentfoundation.org/Testing_Daily_Builds Affected users are encouraged to test the fix and report feedback.