require '_h2ph_pre.ph';

no warnings 'redefine';

unless(defined(&__SGI_STL_INTERNAL_ALLOC_H)) {
    eval 'sub __SGI_STL_INTERNAL_ALLOC_H () {1;}' unless defined(&__SGI_STL_INTERNAL_ALLOC_H);
    if(defined(&__SUNPRO_CC)) {
	eval 'sub __PRIVATE () { &public;}' unless defined(&__PRIVATE);
    } else {
	eval 'sub __PRIVATE () { &private;}' unless defined(&__PRIVATE);
    }
    if(defined(&__STL_STATIC_TEMPLATE_MEMBER_BUG)) {
	eval 'sub __USE_MALLOC () {1;}' unless defined(&__USE_MALLOC);
    }
    if(0) {
	require 'new';
	eval 'sub __THROW_BAD_ALLOC () { &throw  &bad_alloc();}' unless defined(&__THROW_BAD_ALLOC);
    }
 elsif(!defined( &__THROW_BAD_ALLOC)) {
	require 'iostream.ph';
	eval 'sub __THROW_BAD_ALLOC () { &cerr << "out of memory" <<  &endl;  &exit(1);}' unless defined(&__THROW_BAD_ALLOC);
    }
    if(defined(&__STL_WIN32THREADS)) {
	require 'windows.ph';
    }
    require 'stddef.ph';
    require 'stdlib.ph';
    require 'string.ph';
    require 'assert.ph';
    unless(defined(&__RESTRICT)) {
	eval 'sub __RESTRICT () {1;}' unless defined(&__RESTRICT);
    }
    if(!defined( &__STL_PTHREADS)  && !defined( &__STL_SOLTHREADS)  && !defined( &_NOTHREADS)  && !defined( &__STL_SGI_THREADS)  && !defined( &__STL_WIN32THREADS)) {
	eval 'sub _NOTHREADS () {1;}' unless defined(&_NOTHREADS);
    }
    if(defined(&__STL_PTHREADS)) {
	require 'pthread.ph';
	eval 'sub __NODE_ALLOCATOR_LOCK () { &if ( &threads)  &pthread_mutex_lock(& &_S_node_allocator_lock);}' unless defined(&__NODE_ALLOCATOR_LOCK);
	eval 'sub __NODE_ALLOCATOR_UNLOCK () { &if ( &threads)  &pthread_mutex_unlock(& &_S_node_allocator_lock);}' unless defined(&__NODE_ALLOCATOR_UNLOCK);
	eval 'sub __NODE_ALLOCATOR_THREADS () { &true;}' unless defined(&__NODE_ALLOCATOR_THREADS);
	eval 'sub __VOLATILE () { &volatile;}' unless defined(&__VOLATILE);
    }
    if(defined(&__STL_SOLTHREADS)) {
	require 'thread.ph';
	eval 'sub __NODE_ALLOCATOR_LOCK () { &if ( &threads)  &mutex_lock(& &_S_node_allocator_lock);}' unless defined(&__NODE_ALLOCATOR_LOCK);
	eval 'sub __NODE_ALLOCATOR_UNLOCK () { &if ( &threads)  &mutex_unlock(& &_S_node_allocator_lock);}' unless defined(&__NODE_ALLOCATOR_UNLOCK);
	eval 'sub __NODE_ALLOCATOR_THREADS () { &true;}' unless defined(&__NODE_ALLOCATOR_THREADS);
	eval 'sub __VOLATILE () {1;}' unless defined(&__VOLATILE);
    }
    if(defined(&__STL_WIN32THREADS)) {
	eval 'sub __NODE_ALLOCATOR_LOCK () { &EnterCriticalSection(& &_S_node_allocator_lock);}' unless defined(&__NODE_ALLOCATOR_LOCK);
	eval 'sub __NODE_ALLOCATOR_UNLOCK () { &LeaveCriticalSection(& &_S_node_allocator_lock);}' unless defined(&__NODE_ALLOCATOR_UNLOCK);
	eval 'sub __NODE_ALLOCATOR_THREADS () { &true;}' unless defined(&__NODE_ALLOCATOR_THREADS);
	eval 'sub __VOLATILE () { &volatile;}' unless defined(&__VOLATILE);
    }
    if(defined(&__STL_SGI_THREADS)) {
	eval 'sub __NODE_ALLOCATOR_LOCK () { &if ( &threads  &&  &__us_rsthread_malloc) {  &_S_lock(& &_S_node_allocator_lock); };}' unless defined(&__NODE_ALLOCATOR_LOCK);
	eval 'sub __NODE_ALLOCATOR_UNLOCK () { &if ( &threads  &&  &__us_rsthread_malloc) {  &_S_unlock(& &_S_node_allocator_lock); };}' unless defined(&__NODE_ALLOCATOR_UNLOCK);
	eval 'sub __NODE_ALLOCATOR_THREADS () { &true;}' unless defined(&__NODE_ALLOCATOR_THREADS);
	eval 'sub __VOLATILE () { &volatile;}' unless defined(&__VOLATILE);
    }
    if(defined(&_NOTHREADS)) {
	eval 'sub __NODE_ALLOCATOR_LOCK () {1;}' unless defined(&__NODE_ALLOCATOR_LOCK);
	eval 'sub __NODE_ALLOCATOR_UNLOCK () {1;}' unless defined(&__NODE_ALLOCATOR_UNLOCK);
	eval 'sub __NODE_ALLOCATOR_THREADS () { &false;}' unless defined(&__NODE_ALLOCATOR_THREADS);
	eval 'sub __VOLATILE () {1;}' unless defined(&__VOLATILE);
    }
    if(defined( &__sgi)  && !defined( &__GNUC__)  && ((defined(&_MIPS_SIM) ? &_MIPS_SIM : 0) != (defined(&_MIPS_SIM_ABI32) ? &_MIPS_SIM_ABI32 : 0))) {
    }
    if(defined(&__STL_STATIC_TEMPLATE_MEMBER_BUG)) {
	if(defined(&__DECLARE_GLOBALS_HERE)) {
	} else {
	}
    }
    unless(defined(&__STL_STATIC_TEMPLATE_MEMBER_BUG)) {
    }
    unless(defined(&__STL_STATIC_TEMPLATE_MEMBER_BUG)) {
    }
    eval("sub _S_extra () { 8; }") unless defined(&_S_extra);
    if(defined(&__USE_MALLOC)) {
    } else {
	if(defined(&__SUNPRO_CC)) {
	    eval("sub _ALIGN () { 8; }") unless defined(&_ALIGN);
	    eval("sub _MAX_BYTES () { 128; }") unless defined(&_MAX_BYTES);
	    eval("sub _NFREELISTS () { _MAX_BYTES/_ALIGN; }") unless defined(&_NFREELISTS);
	}
	unless(defined(&__SUNPRO_CC)) {
	    eval("sub _ALIGN () { 8; }") unless defined(&_ALIGN);
	    eval("sub _MAX_BYTES () { 128; }") unless defined(&_MAX_BYTES);
	    eval("sub _NFREELISTS () { _MAX_BYTES/_ALIGN; }") unless defined(&_NFREELISTS);
	}
	if(defined(&__SUNPRO_CC)) {
	} else {
	}
	if(defined(&__STL_SGI_THREADS)) {
	}
	if(defined(&__STL_PTHREADS)) {
	}
	if(defined(&__STL_SOLTHREADS)) {
	}
	if(defined(&__STL_WIN32THREADS)) {
	}
	unless(defined(&_NOTHREADS)) {
	}
	unless(defined(&_NOTHREADS)) {
	}
	if(defined(&__STL_PTHREADS)) {
	}
	if(defined(&__STL_SOLTHREADS)) {
	}
	if(defined(&__STL_WIN32THREADS)) {
	}
	if(defined(&__STL_SGI_THREADS)) {
	    require 'mutex.ph';
	    require 'time.ph';
	    if((defined(&__mips) ? &__mips : 0) < 3|| !(defined ( &_ABIN32) || defined( &_ABI64)) || defined( &__GNUC__)) {
		eval 'sub __test_and_set {
		    my($l,$v) = @_;
    		    eval q( &test_and_set($l,$v));
		}' unless defined(&__test_and_set);
	    }
	    eval 'sub __ALLOC_PAUSE () { &__junk *=  &__junk;  &__junk *=  &__junk;  &__junk *=  &__junk;  &__junk *=  &__junk;}' unless defined(&__ALLOC_PAUSE);
	    if(defined( &__GNUC__)  && (defined(&__mips) ? &__mips : 0) >= 3) {
	    }
 elsif((defined(&__mips) ? &__mips : 0) >= 3 && (defined ( &_ABIN32) || defined( &_ABI64))) {
	    } else {
	    }
	}
	if(defined(&__STL_WIN32THREADS)) {
	}
    }
    if(defined(&__STL_USE_STD_ALLOCATORS)) {
	if(defined(&__STL_FUNCTION_TMPL_PARTIAL_ORDER)) {
	}
	if(defined(&__STL_FUNCTION_TMPL_PARTIAL_ORDER)) {
	}
	unless(defined(&__USE_MALLOC)) {
	    if(defined(&__STL_FUNCTION_TMPL_PARTIAL_ORDER)) {
	    }
	}
	if(defined(&__STL_FUNCTION_TMPL_PARTIAL_ORDER)) {
	}
	unless(defined(&__USE_MALLOC)) {
	}
	unless(defined(&__USE_MALLOC)) {
	}
    }
    if(defined( &__sgi)  && !defined( &__GNUC__)  && ((defined(&_MIPS_SIM) ? &_MIPS_SIM : 0) != (defined(&_MIPS_SIM_ABI32) ? &_MIPS_SIM_ABI32 : 0))) {
    }
    undef(&__PRIVATE) if defined(&__PRIVATE);
}
1;
