require '_h2ph_pre.ph';

no warnings 'redefine';

unless(defined(&__sarray_INCLUDE_GNU)) {
    eval 'sub __sarray_INCLUDE_GNU () {1;}' unless defined(&__sarray_INCLUDE_GNU);
    eval 'sub OBJC_SPARSE2 () {1;}' unless defined(&OBJC_SPARSE2);
    if(defined(&OBJC_SPARSE2)) {
    }
    if(defined(&OBJC_SPARSE3)) {
    }
    require 'stddef.ph';
    require 'objc/thr.ph';
    require 'assert.ph';
    eval 'sub SIZET_BITS () {($sizeof{\'size_t\'}*8);}' unless defined(&SIZET_BITS);
    if(defined( &__sparc__) || defined( &OBJC_SPARSE2)) {
	eval 'sub PRECOMPUTE_SELECTORS () {1;}' unless defined(&PRECOMPUTE_SELECTORS);
    }
    if(defined(&OBJC_SPARSE3)) {
	eval 'sub BUCKET_BITS () {3;}' unless defined(&BUCKET_BITS);
	eval 'sub BUCKET_SIZE () {(1<< &BUCKET_BITS);}' unless defined(&BUCKET_SIZE);
	eval 'sub BUCKET_MASK () {( &BUCKET_SIZE-1);}' unless defined(&BUCKET_MASK);
	eval 'sub INDEX_BITS () {4;}' unless defined(&INDEX_BITS);
	eval 'sub INDEX_SIZE () {(1<< &INDEX_BITS);}' unless defined(&INDEX_SIZE);
	eval 'sub INDEX_MASK () {( &INDEX_SIZE-1);}' unless defined(&INDEX_MASK);
	eval 'sub INDEX_CAPACITY () {( &BUCKET_SIZE* &INDEX_SIZE);}' unless defined(&INDEX_CAPACITY);
    } else {
	eval 'sub BUCKET_BITS () {5;}' unless defined(&BUCKET_BITS);
	eval 'sub BUCKET_SIZE () {(1<< &BUCKET_BITS);}' unless defined(&BUCKET_SIZE);
	eval 'sub BUCKET_MASK () {( &BUCKET_SIZE-1);}' unless defined(&BUCKET_MASK);
    }
    if(defined(&PRECOMPUTE_SELECTORS)) {
	if(defined(&OBJC_SPARSE3)) {
	} else {
	    if(defined(&__sparc__)) {
	    } else {
	    }
	}
    }
    if(defined(&OBJC_SPARSE3)) {
    }
    if(defined(&OBJC_SPARSE3)) {
    } else {
    }
    if(defined(&PRECOMPUTE_SELECTORS)) {
    } else {
    }
}
1;
