require '_h2ph_pre.ph';

no warnings qw(redefine misc);

unless(defined(&_GLIBCXX_STD_FUNCTION_H)) {
    eval 'sub _GLIBCXX_STD_FUNCTION_H () {1;}' unless defined(&_GLIBCXX_STD_FUNCTION_H);
    if((defined(&__cplusplus) ? &__cplusplus : undef) < 201103) {
	require 'bits/c++0x_warning.ph';
    } else {
	if((defined(&__cpp_rtti) ? &__cpp_rtti : undef)) {
	    require 'typeinfo';
	}
	require 'bits/stl_function.ph';
	require 'bits/invoke.ph';
	require 'bits/refwrap.ph';
	require 'bits/functexcept.ph';
	eval("sub __get_type_info () { 0; }") unless defined(&__get_type_info);
	eval("sub __get_functor_ptr () { 1; }") unless defined(&__get_functor_ptr);
	eval("sub __clone_functor () { 2; }") unless defined(&__clone_functor);
	eval("sub __destroy_functor () { 3; }") unless defined(&__destroy_functor);
	if((defined(&__cpp_rtti) ? &__cpp_rtti : undef)) {
	}
	if((defined(&__cpp_rtti) ? &__cpp_rtti : undef)) {
	}
	if((defined(&__cpp_rtti) ? &__cpp_rtti : undef)) {
	}
	if((defined(&__cpp_deduction_guides) ? &__cpp_deduction_guides : undef) >= 201606) {
	}
	if((defined(&__cpp_rtti) ? &__cpp_rtti : undef)) {
	}
	if((defined(&__cpp_impl_three_way_comparison) ? &__cpp_impl_three_way_comparison : undef) < 201907) {
	}
	if((defined(&__cplusplus) ? &__cplusplus : undef) >= 201703) {
	}
    }
}
1;
