modernc.org/ccgo/v3@v3.16.14/lib/testdata/gcc-9.1.0/gcc/testsuite/gcc.c-torture/compile/pr45109.c (about)

     1  struct o_fsm_t;
     2  struct o_fsm_event_t;
     3  
     4  typedef void (*fn_t) (struct o_fsm_t *,
     5  		      struct o_fsm_event_t const *);
     6  
     7  struct o_fsm_state_t {
     8      fn_t dispatch;
     9  };
    10  
    11  struct o_fsm_t {
    12      fn_t dispatch;
    13  };
    14  
    15  extern struct o_fsm_state_t o_fsm_tran(struct o_fsm_t *fsm,
    16  				       struct o_fsm_state_t next_state);
    17  static void plist_parser_state_start(struct o_fsm_t *fsm,
    18  				     struct o_fsm_event_t const *fsm_event);
    19  
    20  struct o_fsm_state_t o_fsm_state(fn_t dispatch_fcn)
    21  {
    22    return *(struct o_fsm_state_t *)&dispatch_fcn;
    23  }
    24  
    25  typedef struct _o_plist_parser_t {
    26      struct o_fsm_t fsm;
    27  } o_plist_parser_t;
    28  
    29  static void plist_parser_state_start(struct o_fsm_t *fsm,
    30  				     struct o_fsm_event_t const *fsm_event)
    31  {
    32  }
    33  
    34  void o_plist_deserialize_xml(int fin)
    35  {
    36    o_plist_parser_t parser;
    37    o_fsm_tran(&parser.fsm, o_fsm_state(plist_parser_state_start));
    38  }