modernc.org/ccgo/v3@v3.16.14/lib/testdata/gcc-9.1.0/gcc/testsuite/gcc.c-torture/execute/20030714-1.c (about)

     1  /* derived from PR optimization/11440  */
     2  
     3  extern void abort (void);
     4  extern void exit (int);
     5  
     6  typedef _Bool bool;
     7  const bool false = 0;
     8  const bool true = 1;
     9  
    10  enum EPosition 
    11  {
    12    STATIC, RELATIVE, ABSOLUTE, FIXED
    13  };
    14  typedef enum EPosition EPosition;
    15  
    16  enum EFloat 
    17  {
    18    FNONE = 0, FLEFT, FRIGHT
    19  };
    20  typedef enum EFloat EFloat;
    21  
    22  struct RenderBox
    23  {
    24    int unused[6];
    25    short m_verticalPosition;
    26    
    27    bool m_layouted : 1;
    28    bool m_unused : 1;
    29    bool m_minMaxKnown : 1;
    30    bool m_floating : 1;
    31    
    32    bool m_positioned : 1;
    33    bool m_overhangingContents : 1;
    34    bool m_relPositioned : 1;
    35    bool m_paintSpecial : 1;
    36    
    37    bool m_isAnonymous : 1;
    38    bool m_recalcMinMax : 1;
    39    bool m_isText : 1;
    40    bool m_inline : 1;
    41    
    42    bool m_replaced : 1;
    43    bool m_mouseInside : 1;
    44    bool m_hasFirstLine : 1;
    45    bool m_isSelectionBorder : 1;
    46    
    47    bool (*isTableCell) (struct RenderBox *this);
    48  };
    49  
    50  typedef struct RenderBox RenderBox;
    51  
    52  struct RenderStyle
    53  {
    54    struct NonInheritedFlags 
    55      {
    56        union 
    57  	{
    58  	  struct 
    59  	    {
    60  	      unsigned int _display : 4;
    61  	      unsigned int _bg_repeat : 2;
    62  	      bool _bg_attachment : 1;
    63  	      unsigned int _overflow : 4 ;
    64  	      unsigned int _vertical_align : 4;
    65  	      unsigned int _clear : 2;
    66  	      EPosition _position : 2;
    67  	      EFloat _floating : 2;
    68  	      unsigned int _table_layout : 1;
    69  	      bool _flowAroundFloats :1;
    70  
    71  	      unsigned int _styleType : 3;
    72  	      bool _hasHover : 1;
    73  	      bool _hasActive : 1;
    74  	      bool _clipSpecified : 1;
    75  	      unsigned int _unicodeBidi : 2;
    76  	      int _unused : 1;
    77  	    } f;
    78  	  int _niflags;
    79  	};
    80      } noninherited_flags;
    81  };
    82  
    83  typedef struct RenderStyle RenderStyle;
    84  
    85  extern void RenderObject_setStyle(RenderBox *this, RenderStyle *_style);
    86  extern void removeFromSpecialObjects(RenderBox *this);
    87  
    88  
    89  
    90  void RenderBox_setStyle(RenderBox *thisin, RenderStyle *_style)
    91  {
    92    RenderBox *this = thisin;
    93    bool oldpos, tmp;
    94    EPosition tmppo;
    95    
    96    tmp = this->m_positioned;
    97  
    98    oldpos = tmp;
    99  
   100    RenderObject_setStyle(this, _style);
   101    
   102    tmppo = _style->noninherited_flags.f._position;
   103  
   104    switch(tmppo)
   105      {
   106      case ABSOLUTE:
   107      case FIXED:
   108  	{
   109  	  bool ltrue = true;
   110  	  this->m_positioned = ltrue;
   111  	  break;
   112  	}
   113  
   114      default:
   115  	{
   116  	  EFloat tmpf;
   117  	  EPosition tmpp;
   118  	  if (oldpos)
   119  	    {
   120  	      bool ltrue = true;
   121  	      this->m_positioned = ltrue;
   122  	      removeFromSpecialObjects(this);
   123  	    }
   124  	    {
   125  	      bool lfalse = false;
   126  	      this->m_positioned = lfalse;
   127  	    }
   128  
   129  	  tmpf = _style->noninherited_flags.f._floating;
   130  
   131  	  if(!this->isTableCell (this) && !(tmpf == FNONE)) 
   132  	    {
   133  	      bool ltrue = true;
   134  	      this->m_floating = ltrue;
   135  	    }
   136  	  else 
   137  	    {
   138  	      tmpp = _style->noninherited_flags.f._position;
   139  	      if (tmpp == RELATIVE)
   140  		{
   141  		  bool ltrue = true;
   142  		  this->m_relPositioned = ltrue;
   143  		}
   144  	    }
   145  	}
   146      }
   147  }
   148  
   149  
   150  
   151  
   152  RenderBox g_this;
   153  RenderStyle g__style;
   154  
   155  void RenderObject_setStyle(RenderBox *this, RenderStyle *_style)
   156  {
   157    (void) this;
   158    (void) _style;
   159  }
   160  
   161  void removeFromSpecialObjects(RenderBox *this)
   162  {
   163    (void) this;
   164  }
   165  
   166  bool RenderBox_isTableCell (RenderBox *this)
   167  {
   168    (void) this;
   169    return false;
   170  }
   171  
   172  int main (void)
   173  {
   174  
   175    g_this.m_relPositioned = false;
   176    g_this.m_positioned = false;
   177    g_this.m_floating = false;
   178    g_this.isTableCell = RenderBox_isTableCell;
   179  
   180    g__style.noninherited_flags.f._position = FIXED;
   181    g__style.noninherited_flags.f._floating = FNONE;
   182  
   183    RenderBox_setStyle (&g_this, &g__style);
   184    
   185    if (g_this.m_positioned != true)
   186      abort ();
   187    if (g_this.m_relPositioned != false)
   188      abort ();
   189    if (g_this.m_floating != false)
   190      abort ();
   191  
   192    exit (0);
   193  }