(root)/
gcc-13.2.0/
gcc/
testsuite/
gcc.c-torture/
execute/
bitfld-8.c
       1  struct mouse_button_str {
       2          unsigned char left      : 1;
       3          unsigned char right     : 1;
       4          unsigned char middle    : 1;
       5          } button;
       6  
       7  static char fct (struct mouse_button_str newbutton) __attribute__ ((__noipa__));
       8  static char
       9  fct (struct mouse_button_str newbutton)
      10  {
      11    char l = newbutton.left;
      12    char r = newbutton.right;
      13    char m = newbutton.middle;
      14  	return l || r || m;
      15  }
      16  
      17  int main(void)
      18  {
      19    struct mouse_button_str newbutton1;
      20    newbutton1.left = 1;
      21    newbutton1.middle = 1;
      22    newbutton1.right = 1;
      23    if (!fct (newbutton1))
      24      __builtin_abort ();
      25  
      26    newbutton1.left = 0;
      27    newbutton1.middle = 1;
      28    newbutton1.right = 1;
      29    if (!fct (newbutton1))
      30      __builtin_abort ();
      31    newbutton1.left = 1;
      32    newbutton1.middle = 0;
      33    newbutton1.right = 1;
      34    if (!fct (newbutton1))
      35      __builtin_abort ();
      36    newbutton1.left = 1;
      37    newbutton1.middle = 1;
      38    newbutton1.right = 0;
      39    if (!fct (newbutton1))
      40      __builtin_abort ();
      41  
      42  
      43    newbutton1.left = 1;
      44    newbutton1.middle = 0;
      45    newbutton1.right = 0;
      46    if (!fct (newbutton1))
      47      __builtin_abort ();
      48    newbutton1.left = 0;
      49    newbutton1.middle = 1;
      50    newbutton1.right = 0;
      51    if (!fct (newbutton1))
      52      __builtin_abort ();
      53    newbutton1.left = 0;
      54    newbutton1.middle = 0;
      55    newbutton1.right = 1;
      56    if (!fct (newbutton1))
      57      __builtin_abort ();
      58    newbutton1.left = 0;
      59    newbutton1.middle = 0;
      60    newbutton1.right = 0;
      61    if (fct (newbutton1))
      62      __builtin_abort ();
      63  }