diff options
author | Stephan Bergmann <sbergman@redhat.com> | 2018-09-19 11:06:13 +0200 |
---|---|---|
committer | Stephan Bergmann <sbergman@redhat.com> | 2018-09-19 21:01:48 +0200 |
commit | ed510993d7db9a8ca9a3822d107af063aab5b637 (patch) | |
tree | 1742f0505c8d04ab253a0faf165356e8843061fe /cui/uiconfig | |
parent | 1a72dbb390e9cf6e61b6503f3c575ba531d547d8 (diff) |
Make compilers combine sUNO_* vars across TUs
...by changing them from internal linkage to being inline (where available).
The net effect is that compilers (that HAVE_CPP_INLINE_VARIABLES) are required
to combine all uses of a given sUNO_* var across a Library, where before that
was only possible if the compiler could prove that placing multiple such vars
across TUs at the same address didn't change the program's behavior.
(And
> $ diff <(nm --def instdir/program/libsdlo.so | grep sUNO_ | cut -d ' ' -f 3 | LC_ALL=C sort) <(nm --def instdir/program/libsdlo.so | grep sUNO_ | cut -d ' ' -f 3 | LC_ALL=C sort | uniq)
> 2d1
> < _ZL16sUNO_View_ViewId
> 8d6
> < _ZL18sUNO_View_PageKind
> 23d20
> < _ZL22sUNO_View_LockedLayers
> 30d26
> < _ZL23sUNO_View_VisibleLayers
> 39d34
> < _ZL25sUNO_View_PrintableLayers
showed that there were duplicates, while
> $ nm --def instdir/program/libsdlo.so | grep sUNO_ | cut -d ' ' -f 3 | LC_ALL=C sort | uniq | wc -l
> 71
shows that only 71 of the 117 sUNO_* vars are actually used at all---there's
still room for clean up.)
Introduces LIBO_INTERNAL_ONLY SAL_INLINE_VARIABLE.
Change-Id: Icf92116de9ea4019d298e325d2a83009317f7a4c
Reviewed-on: https://gerrit.libreoffice.org/60743
Tested-by: Jenkins
Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
Diffstat (limited to 'cui/uiconfig')
0 files changed, 0 insertions, 0 deletions