view gcc/testsuite/gcc.c-torture/compile/20040727-1.c @ 144:8f4e72ab4e11

fix segmentation fault caused by nothing next cur_op to end
author Takahiro SHIMIZU <anatofuz@cr.ie.u-ryukyu.ac.jp>
date Sun, 23 Dec 2018 21:23:56 +0900
parents 04ced10e8804
children
line wrap: on
line source

/* Extracted from boehm-gc/os_dep.c on Darwin.  It caused an ICE when
   trying to merge alias information from two pointers that had
   different type memory tags.  */
typedef int thread_state_flavor_t;
typedef int exception_behavior_t;
typedef unsigned int exception_mask_t;
typedef unsigned int exception_handler_t;
typedef unsigned int mach_msg_type_number_t;
static struct {
   mach_msg_type_number_t count;
   exception_mask_t masks[16];
   exception_handler_t ports[16];
   thread_state_flavor_t flavors[16];
} GC_old_exc_ports;

typedef exception_handler_t *exception_handler_array_t;
typedef thread_state_flavor_t *exception_flavor_array_t;


int task_get_exception_ports
(
  mach_msg_type_number_t *masksCnt,
  exception_handler_array_t old_handlers,
  exception_flavor_array_t old_flavors
);

void GC_dirty_init()
{
   task_get_exception_ports(GC_old_exc_ports.masks,
                           GC_old_exc_ports.ports,
                           GC_old_exc_ports.flavors);
}