2 // { dg-lto-options {{-O3 -Wno-multichar -Wno-return-type}} }
3 // { dg-extra-ld-options "-flto -flto-partition=1to1 -r -nostdlib" }
22 typedef double VECTOR[3];
24 X = 0, Y = 1, Z = 2, T = 3 };
25 inline void Assign_Vector(VECTOR d, VECTOR s) {
27 typedef float BBOX_VAL;
28 typedef BBOX_VAL BBOX_VECT[3];
29 typedef struct Bounding_Box_Struct BBOX;
30 struct Bounding_Box_Struct {
32 inline void Make_BBox_from_min_max(BBOX& BBox, BBOX_VECT mins, BBOX_VECT maxs) {
34 typedef long long COUNTER;
35 inline double DBL_Counter(COUNTER x) {
42 struct Density_file_Data_Struct {
47 struct Pigment_Struct {
61 typedef enum shelltype {
62 PRE_SCENE_SHL = 0, PRE_FRAME_SHL, POST_FRAME_SHL, POST_SCENE_SHL, USER_ABORT_SHL, FATAL_SHL, MAX_SHL }
65 typedef void * POVMSContext;
68 int POVMS_OpenContext (POVMSContext *contextrefptr);
71 kFalseErr = 1, kOutOfSyncErr = 2, kNotNowErr = kOutOfSyncErr, kQueueFullErr = 3 };
78 kPOVMsgClass_RenderControl = 'Ctrl', kPOVMsgClass_RenderOutput = 'Outp', kPOVMsgClass_IniOptions = 'IniO', kPOVMsgClass_Miscellaneous = 'Misc' };
83 class POVMS_Container {
84 template<class T> void Read(T& stream) {
87 class POVMS_MessageReceiver {
88 private: class HandlerOO {
90 protected: template<class T> class MemberHandlerOO : public HandlerOO {
92 class FunctionHandlerOO : public HandlerOO {
94 template<class T> void InstallFront(unsigned int hclass, unsigned int hid, T *cptr, typename MemberHandlerOO<T>::MemberHandlerPtr hptr) {
98 class TextStreamBuffer {
101 namespace pov_frontend {
102 using namespace pov_base;
103 class MessageOutput : public POVMS_MessageReceiver {
105 class DefaultPlatformBase : public PlatformBase {
110 int pre_init_flag = 0;
112 POVMSContext POVMS_Render_Context = __null;
113 int main(int argc, char **argv) {
116 if (pre_init_flag == 0) {
118 err = POVMS_OpenContext(&POVMS_Render_Context);