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. These are typically methods of signatures... *::Insert *::Remove *::DeleteAndDestroy *::Replace 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 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 :-) Symbols that are known to be false alarms are listed in: unusedcode.exclude [1] http://www.skynet.ie/~caolan/Packages/callcatcher.html [2] https://bugs.libreoffice.org/show_bug.cgi?id=38832 ra/co-23.05'>distro/collabora/co-23.05 LibreOffice 核心代码仓库文档基金会
summaryrefslogtreecommitdiff
path: root/i18nutil
AgeCommit message (Expand)Author
2016-04-28clang-tidy modernize-loop-convert in h-l/*Noel Grandin
2016-03-31use SAL_N_ELEMENTS more widelyNoel Grandin
2016-02-15Rename rtl::isValidCodePoint -> rtl::isUnicodeCodePointStephan Bergmann
2015-12-19coverity#1343620 Unchecked return valueCaolán McNamara
2015-11-10loplugin:nullptr (automatic rewrite)Stephan Bergmann
2015-11-05related tdf#73691 - prevent AltX creating control charactersJustin Luth
2015-10-28tdf#95354 - pad AltX to 4 charactersJustin Luth
2015-10-20com::sun::star->css in i18nutilNoel Grandin
2015-09-29Updated URLAndrea Gelmini
2015-09-18boost->stdCaolán McNamara
2015-08-21loplugin:defaultparamsNoel Grandin
2015-08-19for testing allow disabling configmgr for time critical pathsCaolán McNamara
2015-08-12tdf#73691 Implement MSWord's Alt-X: toggle unicode notationJustin Luth
2015-08-11loplugin: defaultparamsNoel Grandin
2015-04-22Various #include <sal/log.hxx> fixupsStephan Bergmann
2015-04-15remove unnecessary use of void in function declarationsNoel Grandin
2014-12-27coverity#984097 Uninitialized pointer fieldCaolán McNamara
2014-12-19upgrade to icu 54Caolán McNamara
2014-12-18fdo#39440 reduce scope of local variablesMichael Weghorn
2014-12-12i18nutil: Use appropriate OUString functions on string constantsStephan Bergmann
2014-05-28Avoid undefined left shift of negative valueStephan Bergmann
2014-05-15Resolves fdo#70681: fixincludeguards.pl: all that's leftThomas Arnhold
2014-02-18i18nutil: sal_Bool -> boolStephan Bergmann
2014-01-22CLDR Version 24 doesn't know about es and sl using space before %Caolán McNamara
2014-01-21use a narrow no-break space instead of (normal) no-break space for deCaolán McNamara
2014-01-20Related: #i56998# use locale rules to format percentageCaolán McNamara
2014-01-20Related: #i56998# provide a way to format % per-locale rulesCaolán McNamara
2014-01-09Set PAPER_SCREEN_4_3 values back and use it as it wasZolnai Tamás
2014-01-09Startcenter: use SCREEN_4_3 as default paper for presentationsZolnai Tamás
2013-12-20typo fixesAndras Timar