unusedcode.easy is generated via callcatcher[1] and filtered to remove some tricky edge-cases (see Makefile), e.g. anything which could plausibly be dlsymed or any symbol defined in an external library bundled into LibreOffice which doesn't happen to get used by LibreOffice. unusedcode.easy is generated on an x86_64 --enable-debug --enable-dbgutil configuration. Code listed as unused is code that gcc outputs but that nothing calls (or takes the address of). a) It's possible that some other platform or configuration uses the code, so manual inspection is always required. b) At the time of writing the majority of unused code now originates via macros, mostly from pre-STL containers, see [2] for killing two birds with one stone. c) callcatcher ignores virtuals. But implementations of "pure virtuals" are not actually virtual methods. If something is declared pure virtual and provides an impl and that base-class impl is not explicitly called anywhere, then that impl can go away. d) gcc will only emit code for inlines if those inlines are used, so sometimes something is listed correctly as unused but some inline code takes a pointer or reference to something which cannot be instantiated so removal of some method/class fails at build time because gcc never emits any code for the the unused inline but trips over it at compile time after an attempt at removal. i.e. generally the inline method can go as well because nothing calls it either, a double win. e) if a constructor is listed as unused, and it's the *only* ctor in the class, then no object of that class can be constructed, so the whole thing is unused, which can lead to a whole cascade of tricky but logical fallout. f) if a destructor is listed as unused, and a constructor isn't, then there's a leak somewhere, and the destructor most likely *should* be called. g) there's more actually unused code then what's listed. The idea is that what's listed is definitely unused under the generation configuration, not that it's a list of all unused code. If the count of unused easy hits 0 then we can have a look at the non-easy and if that hits 0, then strip out code from the "release" binaries which only makes sense in debug/dbgutil configurations, and then tackle unused virtual method slots :-) [1] http://www.skynet.ie/~caolan/Packages/callcatcher.html [2] https://bugs.freedesktop.org/show_bug.cgi?id=38832 '>distro/collabora/co-22.05-testflight LibreOffice 核心代码仓库文档基金会
summaryrefslogtreecommitdiff
path: root/linguistic
AgeCommit message (Expand)Author
2013-11-22remove unnecessary RTL_CONSTASCII_STRINGPARAMNoel Grandin
2013-11-21remove unnecessary RTL_CONSTASCII_STRINGPARAM in OUString::equalsLNoel Grandin
2013-11-20Revert "remove RTL_CONSTASCII_STRINGPARAM in OString::equalsL calls"Noel Grandin
2013-11-20remove RTL_CONSTASCII_STRINGPARAM in OString::equalsL callsNoel Grandin
2013-11-20remove unnecessary RTL_CONSTASCII_STRINGPARAM in OString::appendNoel Grandin
2013-11-19remove most use of RTL_CONSTASCII_USTRINGPARAM macroNoel Grandin
2013-11-11convert OUString !compareToAscii to equalsAsciiNoel Grandin
2013-11-11convert OUString 0==compareToAscii to equalsAsciiNoel Grandin
2013-11-06convert linguistic::isUpper from xub_StrLen to sal_Int32Noel Grandin
2013-11-05convert xub_StrLen to sal_Int32Noel Grandin
2013-11-05fixincludeguards.sh: linguisticThomas Arnhold
2013-11-04Convert code that calls OUString::getStr()[] to use the [] operatorNoel Grandin
2013-10-23clean up some include guardsThomas Arnhold
2013-10-22Bin comments that claim to say why some header is includedTor Lillqvist
2013-10-21convert lcl_GetToken from xub_StrLen to sal_Int32Caolán McNamara
2013-10-20drop unnecessary tools/string includesCaolán McNamara
2013-10-07fdo#54938: Adapt supportsService implementations to cppu::supportsServiceMarcos Paulo de Souza
2013-10-02-Werror,-Wunused-variableStephan Bergmann
2013-10-02Use std::auto_ptr::reset where applicableStephan Bergmann
2013-09-26typo fixes in commentsAndras Timar
2013-09-13String to OUStringThomas Arnhold
2013-09-12get rid of unnecessary conversion, use LinguIsUnspecified(OUString)Eike Rathke
2013-09-11convert linguistic/source/*.cxx from String to OUStringNoel Grandin
2013-09-11convert linguistic/source/convdic.hxx from String to OUStringNoel Grandin
2013-09-11convert linguistic/source/dlistimp.hxx from String to OUStringNoel Grandin
2013-09-11convert linguistic/source/hhconvdic.hxx from String to OUStringNoel Grandin
2013-09-11convert linguistic/source/lngsvcmgr.hxx from String to OUStringNoel Grandin
2013-09-11convert include/linguistic/misc.hxx from String to OUStringNoel Grandin
2013-09-03was convertIsoStringToLanguage(), use convertToLanguageTypeWithFallback()Eike Rathke
2013-09-03was convertIsoStringToLanguage(), use convertToLanguageTypeWithFallback()Eike Rathke
2013-09-03was convertIsoStringToLanguage(), use convertToLanguageTypeWithFallback()Eike Rathke
2013-09-03was convertIsoStringToLanguage(), use convertToLanguageTypeWithFallback()Eike Rathke
2013-09-02fdo#68750: ensure that GetSuggestedEndOfSentence makes progressMichael Stahl
2013-08-31fdo#62475 - remove visual noisePhilipp Riemer