require '_h2ph_pre.ph';

no warnings qw(redefine misc);

unless(defined(&_SHARED_PTR_BASE_H)) {
    eval 'sub _SHARED_PTR_BASE_H () {1;}' unless defined(&_SHARED_PTR_BASE_H);
    require 'typeinfo';
    require 'bits/allocated_ptr.ph';
    require 'bits/refwrap.ph';
    require 'bits/stl_function.ph';
    require 'ext/aligned_buffer.ph';
    if((defined(&__cplusplus) ? &__cplusplus : undef) > 201703) {
	require 'compare';
    }
    if((defined(&_GLIBCXX_USE_DEPRECATED) ? &_GLIBCXX_USE_DEPRECATED : undef)) {
    }
    eval("sub _S_need_barriers () { 0; }") unless defined(&_S_need_barriers);
    eval("sub _S_need_barriers () { 1; }") unless defined(&_S_need_barriers);
    if((defined(&__cpp_rtti) ? &__cpp_rtti : undef)) {
    } else {
    }
    if((defined(&__cpp_rtti) ? &__cpp_rtti : undef)) {
    } else {
    }
    if((defined(&_GLIBCXX_USE_DEPRECATED) ? &_GLIBCXX_USE_DEPRECATED : undef)) {
    }
    eval 'sub __cpp_lib_shared_ptr_arrays () {201611;}' unless defined(&__cpp_lib_shared_ptr_arrays);
    if((defined(&__cplusplus) ? &__cplusplus : undef) <= 201402) {
    }
    if((defined(&__cplusplus) ? &__cplusplus : undef) > 201402) {
    }
    if((defined(&__cplusplus) ? &__cplusplus : undef) <= 201402  && (defined(&_GLIBCXX_USE_DEPRECATED) ? &_GLIBCXX_USE_DEPRECATED : undef)) {
    }
    if((defined(&_GLIBCXX_USE_DEPRECATED) ? &_GLIBCXX_USE_DEPRECATED : undef)) {
    }
    if((defined(&_GLIBCXX_USE_DEPRECATED) ? &_GLIBCXX_USE_DEPRECATED : undef)) {
    }
    if(defined(&__cpp_lib_three_way_comparison)) {
    } else {
    }
    if((defined(&__cplusplus) ? &__cplusplus : undef) > 201402) {
    }
    if((defined(&__cplusplus) ? &__cplusplus : undef) > 201402 || !defined(&__STRICT_ANSI__) ) {
    }
}
1;
