require '_h2ph_pre.ph';

no warnings 'redefine';

unless(defined(&__CXXABI_H)) {
    eval 'sub __CXXABI_H () {1;}' unless defined(&__CXXABI_H);
    if(defined(&__cplusplus)) {
	require 'typeinfo';
	eval("sub __const_mask () { 0x1; }") unless defined(&__const_mask);
	eval("sub __volatile_mask () { 0x2; }") unless defined(&__volatile_mask);
	eval("sub __restrict_mask () { 0x4; }") unless defined(&__restrict_mask);
	eval("sub __incomplete_mask () { 0x8; }") unless defined(&__incomplete_mask);
	eval("sub __incomplete_class_mask () { 0x10; }") unless defined(&__incomplete_class_mask);
	eval("sub __virtual_mask () { 0x1; }") unless defined(&__virtual_mask);
	eval("sub __public_mask () { 0x2; }") unless defined(&__public_mask);
	eval("sub __hwm_bit () { 2; }") unless defined(&__hwm_bit);
	eval("sub __offset_shift () { 8; }") unless defined(&__offset_shift);
	eval("sub __unknown () { 0; }") unless defined(&__unknown);
	eval("sub __not_contained () { 1; }") unless defined(&__not_contained);
	eval("sub __contained_ambig () { 2; }") unless defined(&__contained_ambig);
	eval("sub __contained_virtual_mask () { __base_class_type_info::__virtual_mask; }") unless defined(&__contained_virtual_mask);
	eval("sub __contained_public_mask () { __base_class_type_info::__public_mask; }") unless defined(&__contained_public_mask);
	eval("sub __contained_mask () { 1<<__base_class_type_info::__hwm_bit; }") unless defined(&__contained_mask);
	eval("sub __contained_private () { __contained_mask; }") unless defined(&__contained_private);
	eval("sub __contained_public () { __contained_mask|__contained_public_mask; }") unless defined(&__contained_public);
	eval("sub __non_diamond_repeat_mask () { 0x1; }") unless defined(&__non_diamond_repeat_mask);
	eval("sub __diamond_shaped_mask () { 0x2; }") unless defined(&__diamond_shaped_mask);
	eval("sub non_public_base_mask () { 0x4; }") unless defined(&non_public_base_mask);
	eval("sub public_base_mask () { 0x8; }") unless defined(&public_base_mask);
	eval("sub __flags_unknown_mask () { 0x10; }") unless defined(&__flags_unknown_mask);
    } else {
    }
}
1;
