2 // { dg-require-effective-target shared }
3 // { dg-require-effective-target fpic }
4 // { dg-lto-options {{-O0 -fPIC -shared -flto}} }
6 template < typename _Tp, _Tp __v > struct integral_constant {
7 static constexpr _Tp value = __v;
9 typedef integral_constant< bool, false > false_type;
10 struct __is_void_helper : false_type {};
11 struct is_void : __is_void_helper {};
12 template < typename > struct is_array : false_type {};
14 enum _Lock_policy { _S_single, _S_mutex, _S_atomic }; // { dg-lto-warning "6: type '_Lock_policy' violates the C\\+\\+ One Definition Rule" }
15 const _Lock_policy __default_lock_policy = _S_atomic;
17 using __gnu_cxx::_Lock_policy;
18 using __gnu_cxx::__default_lock_policy;
19 template < _Lock_policy = __default_lock_policy > class _Sp_counted_base;
20 template < typename, _Lock_policy = __default_lock_policy > class __shared_ptr;
21 template < _Lock_policy > class __shared_count { _Sp_counted_base<> *_M_pi; };
22 template < typename _Tp, _Lock_policy, bool = is_array< _Tp >::value,
23 bool = is_void::value >
24 class __shared_ptr_access {};
25 template < typename _Tp, _Lock_policy _Lp >
26 class __shared_ptr : __shared_ptr_access< _Tp, _Lp > {
27 using element_type = _Tp;
29 __shared_count< _Lp > _M_refcount;
31 template < typename _Tp > class shared_ptr : __shared_ptr< _Tp > {};
32 } typedef struct _rtl_String rtl_String;
33 typedef struct _rtl_uString rtl_uString;
43 } using rtl::OUString;
45 template < typename T > class SvRef {
49 unsigned nRefCount : 31;
50 unsigned bNoDelete : 1;
61 unsigned short m_value;
63 typedef strong_int LanguageType;
64 class SotObject : virtual SvRefBase {
65 unsigned short nOwnerLockCount;
69 class SotStorage : virtual SotObject {
70 BaseStorage *m_pOwnStg;
88 class SharedFormulaBuffer;
92 class XclImpColRowSettings;
95 ExtSheetBuffer *pExtSheetBuff;
96 SharedFormulaBuffer *pShrfmlaBuff;
97 ExtNameBuff *pExtNameBuff;
98 ExcelToSc *pFmlaConverter;
99 XclImpColRowSettings *pColRowBuff;
101 class ScEditEngineDefaulter;
102 class ScHeaderEditEngine;
104 class ScExtDocOptions;
105 class XclFontPropSetHelper;
106 class XclChPropSetHelper;
109 typedef std::shared_ptr< ScEditEngineDefaulter > ScEEDefaulterRef;
110 typedef std::shared_ptr< ScHeaderEditEngine > ScHeaderEERef;
111 typedef std::shared_ptr< EditEngine > EditEngineRef;
112 typedef std::shared_ptr< XclFontPropSetHelper > XclFontPropSetHlpRef;
113 typedef std::shared_ptr< XclChPropSetHelper > XclChPropSetHlpRef;
114 typedef std::shared_ptr< ScExtDocOptions > ScExtDocOptRef;
115 typedef std::shared_ptr< XclTracer > XclTracerRef;
116 typedef std::shared_ptr< RootData > RootDataRef;
120 tools::SvRef< SotStorage > mxRootStrg;
125 OUString maDefPassword;
126 unsigned short meTextEnc;
127 LanguageType meSysLang;
128 LanguageType meDocLang;
129 LanguageType meUILang;
130 short mnDefApiScript;
131 ScAddress maScMaxPos;
132 ScAddress maXclMaxPos;
134 ScEEDefaulterRef mxEditEngine;
135 ScHeaderEERef mxHFEditEngine;
136 EditEngineRef mxDrawEditEng;
137 XclFontPropSetHlpRef mxFontPropSetHlp;
138 XclChPropSetHlpRef mxChPropSetHlp;
139 ScExtDocOptRef mxExtDocOpt;
140 XclTracerRef mxTracer;
142 virtual ~XclRootData();
149 class XclImpRoot : XclRoot {};
150 class XclImpColRowSettings : XclImpRoot {};
151 void lcl_ExportExcelBiff() {
152 XclRootData aExpData();