Mercurial > hg > CbC > CbC_gcc
comparison gcc/testsuite/g++.dg/lto/pr65302_0.C @ 111:04ced10e8804
gcc 7
author | kono |
---|---|
date | Fri, 27 Oct 2017 22:46:09 +0900 |
parents | |
children | 84e7813d76e9 |
comparison
equal
deleted
inserted
replaced
68:561a7518be6b | 111:04ced10e8804 |
---|---|
1 // { dg-lto-do link } | |
2 // { dg-lto-options { { -flto -O2 } } } | |
3 // { dg-extra-ld-options "-r -nostdlib -O0" } | |
4 | |
5 class CstringStorageReference { | |
6 public: | |
7 ~CstringStorageReference (); | |
8 }; | |
9 class Cstring { | |
10 CstringStorageReference m_stringRef; | |
11 public: | |
12 Cstring (const char *str, int l = 0); | |
13 unsigned int getLength () const; | |
14 }; | |
15 class ZEvent_Component { }; | |
16 class ZEvent_Data { }; | |
17 class ZEvent_Interrupt { }; | |
18 class ZEvent_Mouse { }; | |
19 class ZEvent_Key { }; | |
20 class ZEventHandler { | |
21 virtual void HandleEvent (const ZEvent_Component & event); | |
22 virtual void HandleEvent (const ZEvent_Mouse & event); | |
23 virtual void HandleEvent (const ZEvent_Key & event); | |
24 virtual void HandleEvent (const ZEvent_Interrupt & event); | |
25 virtual void HandleEvent (const ZEvent_Data & event); | |
26 }; | |
27 enum ZHorizontalAlignment { HA_Left }; | |
28 enum ZVerticalAlignment { VA_Baseline }; | |
29 struct ZDevicePointStruct { }; | |
30 struct ZDeviceRectangleStruct { }; | |
31 struct ZDeviceCircleStruct { }; | |
32 class ZOutputDevice; | |
33 class Foo; | |
34 class ZRubberBand { | |
35 public: | |
36 ZOutputDevice * getOutputDevice (); | |
37 }; | |
38 class ZRubberBand2P : public ZRubberBand { | |
39 virtual void Init (); | |
40 Foo *mp_graphicContext; | |
41 int m_textAscent; | |
42 int m_OkButtonWidth; | |
43 int m_OkButtonHeight; | |
44 }; | |
45 class ZColor { }; | |
46 class ZViewPort2D { }; | |
47 class ZCursor; | |
48 class ZPixmap; | |
49 class ZOutputDevice:public ZEventHandler { | |
50 public: | |
51 typedef ZHorizontalAlignment THorizontalAlignment; | |
52 typedef ZVerticalAlignment TVerticalAlignment; | |
53 virtual const char *MyName () const { return ""; } | |
54 virtual ~ ZOutputDevice (); | |
55 virtual Cstring getTitle () const; | |
56 virtual void setTitle (const Cstring &) { } | |
57 virtual void Init (); | |
58 virtual void shutdown (); | |
59 virtual void minimize (); | |
60 virtual void normalize (); | |
61 virtual void raiseToTop (); | |
62 virtual ZViewPort2D GetViewPort () const; | |
63 virtual void setBackgroundColor (const ZColor & color) = 0; | |
64 virtual void Clear () = 0; | |
65 virtual void Flush (int forced) = 0; | |
66 virtual void dismissCache () { } | |
67 virtual int GetDeviceWidth () const = 0; | |
68 virtual int GetDeviceHeight () const = 0; | |
69 virtual Foo *CreateGraphicContext () = 0; | |
70 virtual ZCursor *createCursor (const ZPixmap &, int, int) { return __null; } | |
71 virtual void DrawLine (const Foo & gc, int x1, int y1, int x2, int y2) = 0; | |
72 virtual void DrawLines (const Foo & gc, const ZDevicePointStruct * points, unsigned int count) = 0; | |
73 virtual void FillPolygon (const Foo & gc, const ZDevicePointStruct * points, unsigned int count) = 0; | |
74 virtual void DrawPoint (const Foo & gc, int x1, int y1) = 0; | |
75 virtual void DrawPoints (const Foo & gc, const ZDevicePointStruct * points, unsigned int count) = 0; | |
76 virtual void DrawRectangle (const Foo & gc, int x, int y, int width, int height) = 0; | |
77 virtual void DrawRectangles (const Foo & gc, const ZDeviceRectangleStruct * rectangles, unsigned int count) = 0; | |
78 virtual void FillRectangle (const Foo & gc, int x, int y, int width, int height) = 0; | |
79 virtual void FillRectangles (const Foo & gc, const ZDeviceRectangleStruct * rectangles, unsigned int count) = 0; | |
80 virtual void DrawCircle (const Foo & gc, int x, int y, int radius) = 0; | |
81 virtual void DrawCircles (const Foo & gc, const ZDeviceCircleStruct * circle, unsigned int count) = 0; | |
82 virtual void FillCircle (const Foo & gc, int x, int y, int radius) = 0; | |
83 virtual void FillCircles (const Foo & gc, const ZDeviceCircleStruct * circle, unsigned int count) = 0; | |
84 virtual void DrawString (const Foo & gc, int xx, int yy, const Cstring & theString, THorizontalAlignment horAlign = HA_Left, TVerticalAlignment verAlign = VA_Baseline) = 0; | |
85 virtual void getStringBounds (const Foo & gc, const Cstring & theString, int & width, int & height, int & ascent) const; | |
86 }; | |
87 template < class T > class EMaskContentVector | |
88 { | |
89 signed m_freelist_idx:32; | |
90 EMaskContentVector (const EMaskContentVector < T > &, void *buf); | |
91 }; | |
92 template < class T > EMaskContentVector < | |
93 T >::EMaskContentVector (const EMaskContentVector < T > &elem, void *buf): | |
94 m_freelist_idx (-1) | |
95 { | |
96 } | |
97 void ZRubberBand2P::Init () { | |
98 getOutputDevice ()->getStringBounds (*mp_graphicContext, Cstring ("Ok"), m_OkButtonWidth, m_OkButtonHeight, m_textAscent); | |
99 } |