(root)/
gcc-13.2.0/
gcc/
testsuite/
gcc.c-torture/
compile/
20040727-1.c
       1  /* Extracted from boehm-gc/os_dep.c on Darwin.  It caused an ICE when
       2     trying to merge alias information from two pointers that had
       3     different type memory tags.  */
       4  typedef int thread_state_flavor_t;
       5  typedef int exception_behavior_t;
       6  typedef unsigned int exception_mask_t;
       7  typedef unsigned int exception_handler_t;
       8  typedef unsigned int mach_msg_type_number_t;
       9  static struct {
      10     mach_msg_type_number_t count;
      11     exception_mask_t masks[16];
      12     exception_handler_t ports[16];
      13     thread_state_flavor_t flavors[16];
      14  } GC_old_exc_ports;
      15  
      16  typedef exception_handler_t *exception_handler_array_t;
      17  typedef thread_state_flavor_t *exception_flavor_array_t;
      18  
      19  
      20  int task_get_exception_ports
      21  (
      22    mach_msg_type_number_t *masksCnt,
      23    exception_handler_array_t old_handlers,
      24    exception_flavor_array_t old_flavors
      25  );
      26  
      27  void GC_dirty_init()
      28  {
      29     task_get_exception_ports(GC_old_exc_ports.masks,
      30                             GC_old_exc_ports.ports,
      31                             GC_old_exc_ports.flavors);
      32  }