// { dg-lto-do link } // { dg-lto-options {{-O3 -Wno-multichar}} } // { dg-extra-ld-options "-flto -flto-partition=1to1 -r -nostdlib" } extern "C" { typedef struct { union { } __value; } __mbstate_t; struct _IO_marker { }; extern "C" { } }; namespace pov_base { class IOBase { }; } namespace pov { typedef double VECTOR[3]; enum { X = 0, Y = 1, Z = 2, T = 3 }; inline void Assign_Vector(VECTOR d, VECTOR s) { } typedef float BBOX_VAL; typedef BBOX_VAL BBOX_VECT[3]; typedef struct Bounding_Box_Struct BBOX; struct Bounding_Box_Struct { }; inline void Make_BBox_from_min_max(BBOX& BBox, BBOX_VECT mins, BBOX_VECT maxs) { } typedef long long COUNTER; inline double DBL_Counter(COUNTER x) { } struct Image_Struct { union { } data; }; struct Density_file_Data_Struct { union { } Vals; }; struct Pigment_Struct { union { struct { } Brick; struct { } Fractal; struct { } Function; } Vals; }; typedef enum shelltype { PRE_SCENE_SHL = 0, PRE_FRAME_SHL, POST_FRAME_SHL, POST_SCENE_SHL, USER_ABORT_SHL, FATAL_SHL, MAX_SHL } SHELLRET; } typedef void * POVMSContext; struct POVMSData { }; int POVMS_OpenContext (POVMSContext *contextrefptr); namespace pov_base { enum { kFalseErr = 1, kOutOfSyncErr = 2, kNotNowErr = kOutOfSyncErr, kQueueFullErr = 3 }; } namespace pov_base { class OTextStream { }; } enum { kPOVMsgClass_RenderControl = 'Ctrl', kPOVMsgClass_RenderOutput = 'Outp', kPOVMsgClass_IniOptions = 'IniO', kPOVMsgClass_Miscellaneous = 'Misc' }; namespace pov_base { class PlatformBase { }; } class POVMS_Container { template void Read(T& stream) { } }; class POVMS_MessageReceiver { private: class HandlerOO { }; protected: template class MemberHandlerOO : public HandlerOO { }; class FunctionHandlerOO : public HandlerOO { }; template void InstallFront(unsigned int hclass, unsigned int hid, T *cptr, typename MemberHandlerOO::MemberHandlerPtr hptr) { } }; namespace pov_base { class TextStreamBuffer { }; } namespace pov_frontend { using namespace pov_base; class MessageOutput : public POVMS_MessageReceiver { }; class DefaultPlatformBase : public PlatformBase { }; } using namespace pov; namespace pov { int pre_init_flag = 0; } POVMSContext POVMS_Render_Context = __null; int main(int argc, char **argv) { } void povray_init() { if (pre_init_flag == 0) { int err; err = POVMS_OpenContext(&POVMS_Render_Context); } }