require '_h2ph_pre.ph';

no warnings qw(redefine misc);

unless(defined(&_MT_ALLOCATOR_H)) {
    eval 'sub _MT_ALLOCATOR_H () {1;}' unless defined(&_MT_ALLOCATOR_H);
    require 'new';
    require 'cstdlib';
    require 'bits/functexcept.ph';
    require 'ext/atomicity.ph';
    eval("sub _S_align () { 8; }") unless defined(&_S_align);
    eval("sub _S_max_bytes () { 128; }") unless defined(&_S_max_bytes);
    eval("sub _S_min_bin () { 8; }") unless defined(&_S_min_bin);
    eval("sub _S_chunk_size () { 4096-4*sizeof(void*); }") unless defined(&_S_chunk_size);
    eval("sub _S_max_threads () { 4096; }") unless defined(&_S_max_threads);
    eval("sub _S_freelist_headroom () { 10; }") unless defined(&_S_freelist_headroom);
    if(defined(&__GTHREADS)) {
    }
    if(defined(&__GTHREADS)) {
    }
    if(defined(&__GTHREADS)) {
    }
    if(defined(&__GTHREADS)) {
	eval 'sub __thread_default () { &true;}' unless defined(&__thread_default);
    } else {
	eval 'sub __thread_default () { &false;}' unless defined(&__thread_default);
    }
    undef(&__thread_default) if defined(&__thread_default);
}
1;
