aboutsummaryrefslogtreecommitdiffstats
path: root/gcc-4.9/gcc/testsuite/gcc.c-torture/execute/20030714-1.c
diff options
context:
space:
mode:
Diffstat (limited to 'gcc-4.9/gcc/testsuite/gcc.c-torture/execute/20030714-1.c')
-rw-r--r--gcc-4.9/gcc/testsuite/gcc.c-torture/execute/20030714-1.c193
1 files changed, 193 insertions, 0 deletions
diff --git a/gcc-4.9/gcc/testsuite/gcc.c-torture/execute/20030714-1.c b/gcc-4.9/gcc/testsuite/gcc.c-torture/execute/20030714-1.c
new file mode 100644
index 000000000..719baede2
--- /dev/null
+++ b/gcc-4.9/gcc/testsuite/gcc.c-torture/execute/20030714-1.c
@@ -0,0 +1,193 @@
+/* derived from PR optimization/11440 */
+
+extern void abort (void);
+extern void exit (int);
+
+typedef _Bool bool;
+const bool false = 0;
+const bool true = 1;
+
+enum EPosition
+{
+ STATIC, RELATIVE, ABSOLUTE, FIXED
+};
+typedef enum EPosition EPosition;
+
+enum EFloat
+{
+ FNONE = 0, FLEFT, FRIGHT
+};
+typedef enum EFloat EFloat;
+
+struct RenderBox
+{
+ int unused[6];
+ short m_verticalPosition;
+
+ bool m_layouted : 1;
+ bool m_unused : 1;
+ bool m_minMaxKnown : 1;
+ bool m_floating : 1;
+
+ bool m_positioned : 1;
+ bool m_overhangingContents : 1;
+ bool m_relPositioned : 1;
+ bool m_paintSpecial : 1;
+
+ bool m_isAnonymous : 1;
+ bool m_recalcMinMax : 1;
+ bool m_isText : 1;
+ bool m_inline : 1;
+
+ bool m_replaced : 1;
+ bool m_mouseInside : 1;
+ bool m_hasFirstLine : 1;
+ bool m_isSelectionBorder : 1;
+
+ bool (*isTableCell) (struct RenderBox *this);
+};
+
+typedef struct RenderBox RenderBox;
+
+struct RenderStyle
+{
+ struct NonInheritedFlags
+ {
+ union
+ {
+ struct
+ {
+ unsigned int _display : 4;
+ unsigned int _bg_repeat : 2;
+ bool _bg_attachment : 1;
+ unsigned int _overflow : 4 ;
+ unsigned int _vertical_align : 4;
+ unsigned int _clear : 2;
+ EPosition _position : 2;
+ EFloat _floating : 2;
+ unsigned int _table_layout : 1;
+ bool _flowAroundFloats :1;
+
+ unsigned int _styleType : 3;
+ bool _hasHover : 1;
+ bool _hasActive : 1;
+ bool _clipSpecified : 1;
+ unsigned int _unicodeBidi : 2;
+ int _unused : 1;
+ } f;
+ int _niflags;
+ };
+ } noninherited_flags;
+};
+
+typedef struct RenderStyle RenderStyle;
+
+extern void RenderObject_setStyle(RenderBox *this, RenderStyle *_style);
+extern void removeFromSpecialObjects(RenderBox *this);
+
+
+
+void RenderBox_setStyle(RenderBox *thisin, RenderStyle *_style)
+{
+ RenderBox *this = thisin;
+ bool oldpos, tmp;
+ EPosition tmppo;
+
+ tmp = this->m_positioned;
+
+ oldpos = tmp;
+
+ RenderObject_setStyle(this, _style);
+
+ tmppo = _style->noninherited_flags.f._position;
+
+ switch(tmppo)
+ {
+ case ABSOLUTE:
+ case FIXED:
+ {
+ bool ltrue = true;
+ this->m_positioned = ltrue;
+ break;
+ }
+
+ default:
+ {
+ EFloat tmpf;
+ EPosition tmpp;
+ if (oldpos)
+ {
+ bool ltrue = true;
+ this->m_positioned = ltrue;
+ removeFromSpecialObjects(this);
+ }
+ {
+ bool lfalse = false;
+ this->m_positioned = lfalse;
+ }
+
+ tmpf = _style->noninherited_flags.f._floating;
+
+ if(!this->isTableCell (this) && !(tmpf == FNONE))
+ {
+ bool ltrue = true;
+ this->m_floating = ltrue;
+ }
+ else
+ {
+ tmpp = _style->noninherited_flags.f._position;
+ if (tmpp == RELATIVE)
+ {
+ bool ltrue = true;
+ this->m_relPositioned = ltrue;
+ }
+ }
+ }
+ }
+}
+
+
+
+
+RenderBox g_this;
+RenderStyle g__style;
+
+void RenderObject_setStyle(RenderBox *this, RenderStyle *_style)
+{
+ (void) this;
+ (void) _style;
+}
+
+void removeFromSpecialObjects(RenderBox *this)
+{
+ (void) this;
+}
+
+bool RenderBox_isTableCell (RenderBox *this)
+{
+ (void) this;
+ return false;
+}
+
+int main (void)
+{
+
+ g_this.m_relPositioned = false;
+ g_this.m_positioned = false;
+ g_this.m_floating = false;
+ g_this.isTableCell = RenderBox_isTableCell;
+
+ g__style.noninherited_flags.f._position = FIXED;
+ g__style.noninherited_flags.f._floating = FNONE;
+
+ RenderBox_setStyle (&g_this, &g__style);
+
+ if (g_this.m_positioned != true)
+ abort ();
+ if (g_this.m_relPositioned != false)
+ abort ();
+ if (g_this.m_floating != false)
+ abort ();
+
+ exit (0);
+}