blob: 668ba362aed50976313cc623fd273bef3838c283 [file] [log] [blame]
// { dg-lto-do link }
// { dg-require-effective-target shared }
// { dg-require-effective-target fpic }
// { dg-lto-options {{-O0 -fPIC -shared -flto}} }
template < typename _Tp, _Tp __v > struct integral_constant {
static constexpr _Tp value = __v;
};
typedef integral_constant< bool, false > false_type;
struct __is_void_helper : false_type {};
struct is_void : __is_void_helper {};
template < typename > struct is_array : false_type {};
namespace __gnu_cxx {
enum _Lock_policy { _S_single, _S_mutex, _S_atomic }; // { dg-lto-warning "6: type '__gnu_cxx::_Lock_policy' violates the C\\+\\+ One Definition Rule" }
const _Lock_policy __default_lock_policy = _S_atomic;
} namespace std {
using __gnu_cxx::_Lock_policy;
using __gnu_cxx::__default_lock_policy;
template < _Lock_policy = __default_lock_policy > class _Sp_counted_base;
template < typename, _Lock_policy = __default_lock_policy > class __shared_ptr;
template < _Lock_policy > class __shared_count { _Sp_counted_base<> *_M_pi; };
template < typename _Tp, _Lock_policy, bool = is_array< _Tp >::value,
bool = is_void::value >
class __shared_ptr_access {};
template < typename _Tp, _Lock_policy _Lp >
class __shared_ptr : __shared_ptr_access< _Tp, _Lp > {
using element_type = _Tp;
element_type *_M_ptr;
__shared_count< _Lp > _M_refcount;
};
template < typename _Tp > class shared_ptr : __shared_ptr< _Tp > {};
} typedef struct _rtl_String rtl_String;
typedef struct _rtl_uString rtl_uString;
namespace rtl {
class OString {
rtl_String *pData;
};
} using rtl::OString;
namespace rtl {
class OUString {
rtl_uString *pData;
};
} using rtl::OUString;
namespace tools {
template < typename T > class SvRef {
T *pObj;
};
} class SvRefBase {
unsigned nRefCount : 31;
unsigned bNoDelete : 1;
protected:
virtual ~SvRefBase();
};
class ErrCode {
unsigned m_value;
};
class SvStream;
class SfxMedium;
struct strong_int {
unsigned short m_value;
};
typedef strong_int LanguageType;
class SotObject : virtual SvRefBase {
unsigned short nOwnerLockCount;
bool bInClose;
};
class BaseStorage;
class SotStorage : virtual SotObject {
BaseStorage *m_pOwnStg;
SvStream *m_pStorStm;
ErrCode m_nError;
OUString m_aName;
bool m_bIsRoot;
bool m_bDelStm;
OString m_aKey;
int m_nVersion;
};
class ScDocument;
class ScAddress {
int nRow;
short nCol;
short nTab;
};
enum XclBiff {};
enum XclOutput {};
enum BiffTyp {};
class SharedFormulaBuffer;
class ExtNameBuff;
class ExtSheetBuffer;
class ExcelToSc;
class XclImpColRowSettings;
struct RootData {
BiffTyp eDateiTyp;
ExtSheetBuffer *pExtSheetBuff;
SharedFormulaBuffer *pShrfmlaBuff;
ExtNameBuff *pExtNameBuff;
ExcelToSc *pFmlaConverter;
XclImpColRowSettings *pColRowBuff;
};
class ScEditEngineDefaulter;
class ScHeaderEditEngine;
class EditEngine;
class ScExtDocOptions;
class XclFontPropSetHelper;
class XclChPropSetHelper;
class XclTracer;
struct XclRootData {
typedef std::shared_ptr< ScEditEngineDefaulter > ScEEDefaulterRef;
typedef std::shared_ptr< ScHeaderEditEngine > ScHeaderEERef;
typedef std::shared_ptr< EditEngine > EditEngineRef;
typedef std::shared_ptr< XclFontPropSetHelper > XclFontPropSetHlpRef;
typedef std::shared_ptr< XclChPropSetHelper > XclChPropSetHlpRef;
typedef std::shared_ptr< ScExtDocOptions > ScExtDocOptRef;
typedef std::shared_ptr< XclTracer > XclTracerRef;
typedef std::shared_ptr< RootData > RootDataRef;
XclBiff meBiff;
XclOutput meOutput;
SfxMedium &mrMedium;
tools::SvRef< SotStorage > mxRootStrg;
ScDocument &mrDoc;
OUString maDocUrl;
OUString maBasePath;
OUString maUserName;
OUString maDefPassword;
unsigned short meTextEnc;
LanguageType meSysLang;
LanguageType meDocLang;
LanguageType meUILang;
short mnDefApiScript;
ScAddress maScMaxPos;
ScAddress maXclMaxPos;
ScAddress maMaxPos;
ScEEDefaulterRef mxEditEngine;
ScHeaderEERef mxHFEditEngine;
EditEngineRef mxDrawEditEng;
XclFontPropSetHlpRef mxFontPropSetHlp;
XclChPropSetHlpRef mxChPropSetHlp;
ScExtDocOptRef mxExtDocOpt;
XclTracerRef mxTracer;
RootDataRef mxRD;
virtual ~XclRootData();
};
class XclRoot {
public:
virtual ~XclRoot();
XclRootData &mrData;
};
class XclImpRoot : XclRoot {};
class XclImpColRowSettings : XclImpRoot {};
void lcl_ExportExcelBiff() {
extern XclRootData aExpData();
}