summaryrefslogtreecommitdiffstats
path: root/connectivity/source/inc
diff options
context:
space:
mode:
authorCaolán McNamara <caolanm@redhat.com>2016-11-18 11:09:27 +0000
committerCaolán McNamara <caolanm@redhat.com>2016-11-18 11:12:50 +0000
commitc5c8790122bf7e13543b5b94fa70f437288afc0c (patch)
tree94e75f811197f56888f808af0d108e08f7173cfd /connectivity/source/inc
parentsfx2: let .uno:SignPDF result in a warning before editing the doc (diff)
downloadcore-c5c8790122bf7e13543b5b94fa70f437288afc0c.tar.gz
core-c5c8790122bf7e13543b5b94fa70f437288afc0c.zip
this is copied from SvRefBase, so copy the clang opt fix here too
Change-Id: Ia3a2f086d66b5e15ddd4e7dcc600271d19e5d052
Diffstat (limited to 'connectivity/source/inc')
-rw-r--r--connectivity/source/inc/dbase/dindexnode.hxx4
1 files changed, 3 insertions, 1 deletions
diff --git a/connectivity/source/inc/dbase/dindexnode.hxx b/connectivity/source/inc/dbase/dindexnode.hxx
index 53d079c4c83a..ff73ce700099 100644
--- a/connectivity/source/inc/dbase/dindexnode.hxx
+++ b/connectivity/source/inc/dbase/dindexnode.hxx
@@ -115,9 +115,11 @@ namespace connectivity
friend SvStream& WriteONDXPage(SvStream &rStream, const ONDXPage&);
friend SvStream& operator >> (SvStream &rStream, ONDXPage&);
+ // work around a clang 3.5 optimization bug: if the bNoDelete is *first*
+ // it mis-compiles "if (--nRefCount == 0)" and never deletes any object
+ unsigned int nRefCount : 31;
// the only reason this is not bool is because MSVC cannot handle mixed type bitfields
unsigned int bNoDelete : 1;
- unsigned int nRefCount : 31;
sal_uInt32 nPagePos; // Position in the index file
bool bModified : 1;
sal_uInt16 nCount;