require '_h2ph_pre.ph';

no warnings qw(redefine misc);

unless(defined(&_GLIBCXX_DEBUG_MACROS_H)) {
    eval 'sub _GLIBCXX_DEBUG_MACROS_H () {1;}' unless defined(&_GLIBCXX_DEBUG_MACROS_H);
    eval 'sub _GLIBCXX_DEBUG_VERIFY {
        my($_Condition,$_ErrorMessage) = @_;
	    eval q( &do {  &if (! ($_Condition))  &__gnu_debug:: &_Error_formatter:: &_M_at( &__FILE__,  &__LINE__) . ($_ErrorMessage->{_M_error})(); }  &while ( &false));
    }' unless defined(&_GLIBCXX_DEBUG_VERIFY);
    eval 'sub __glibcxx_check_valid_range {
        my($_First,$_Last) = @_;
	    eval q( &_GLIBCXX_DEBUG_VERIFY( &__gnu_debug:: &__valid_range($_First, $_Last),  &_M_message( &__gnu_debug:: &__msg_valid_range) . &_M_iterator($_First, $_First) . &_M_iterator($_Last, $_Last)));
    }' unless defined(&__glibcxx_check_valid_range);
    eval 'sub __glibcxx_check_insert {
        my($_Position) = @_;
	    eval q( &_GLIBCXX_DEBUG_VERIFY(! ($_Position->{_M_singular})(),  &_M_message( &__gnu_debug:: &__msg_insert_singular) . &_M_sequence(* &this, \\"this\\") . &_M_iterator($_Position, $_Position));  &_GLIBCXX_DEBUG_VERIFY( ($_Position->{_M_attached_to})( &this),  &_M_message( &__gnu_debug:: &__msg_insert_different) . &_M_sequence(* &this, \\"this\\") . &_M_iterator($_Position, $_Position)));
    }' unless defined(&__glibcxx_check_insert);
    eval 'sub __glibcxx_check_insert_range {
        my($_Position,$_First,$_Last) = @_;
	    eval q( &__glibcxx_check_valid_range($_First,$_Last);  &_GLIBCXX_DEBUG_VERIFY(! ($_Position->{_M_singular})(),  &_M_message( &__gnu_debug:: &__msg_insert_singular) . &_M_sequence(* &this, \\"this\\") . &_M_iterator($_Position, $_Position));  &_GLIBCXX_DEBUG_VERIFY( ($_Position->{_M_attached_to})( &this),  &_M_message( &__gnu_debug:: &__msg_insert_different) . &_M_sequence(* &this, \\"this\\") . &_M_iterator($_Position, $_Position)));
    }' unless defined(&__glibcxx_check_insert_range);
    eval 'sub __glibcxx_check_erase {
        my($_Position) = @_;
	    eval q( &_GLIBCXX_DEBUG_VERIFY( ($_Position->{_M_dereferenceable})(),  &_M_message( &__gnu_debug:: &__msg_erase_bad) . &_M_sequence(* &this, \\"this\\") . &_M_iterator($_Position, $_Position));  &_GLIBCXX_DEBUG_VERIFY( ($_Position->{_M_attached_to})( &this),  &_M_message( &__gnu_debug:: &__msg_erase_different) . &_M_sequence(* &this, \\"this\\") . &_M_iterator($_Position, $_Position)));
    }' unless defined(&__glibcxx_check_erase);
    eval 'sub __glibcxx_check_erase_range {
        my($_First,$_Last) = @_;
	    eval q( &__glibcxx_check_valid_range($_First,$_Last);  &_GLIBCXX_DEBUG_VERIFY( ($_First->{_M_attached_to})( &this),  &_M_message( &__gnu_debug:: &__msg_erase_different) . &_M_sequence(* &this, \\"this\\") . &_M_iterator($_First, $_First) . &_M_iterator($_Last, $_Last)));
    }' unless defined(&__glibcxx_check_erase_range);
    eval 'sub __glibcxx_check_subscript {
        my($_N) = @_;
	    eval q( &_GLIBCXX_DEBUG_VERIFY($_N <  ($this->{size})(),  &_M_message( &__gnu_debug:: &__msg_subscript_oob) . &_M_sequence(* &this, \\"this\\") . &_M_integer($_N, $_N) . &_M_integer( ($this->{size})(), \\"size\\")));
    }' unless defined(&__glibcxx_check_subscript);
    eval 'sub __glibcxx_check_nonempty () {
        eval q( &_GLIBCXX_DEBUG_VERIFY(!  ($this->{empty})(),  &_M_message( &__gnu_debug:: &__msg_empty) . &_M_sequence(* &this, \\"this\\")));
    }' unless defined(&__glibcxx_check_nonempty);
    eval 'sub __glibcxx_check_strict_weak_ordering {
        my($_First,$_Last) = @_;
	    eval q( &_GLIBCXX_DEBUG_ASSERT($_First == $_Last || !(*$_First < *$_First)));
    }' unless defined(&__glibcxx_check_strict_weak_ordering);
    eval 'sub __glibcxx_check_strict_weak_ordering_pred {
        my($_First,$_Last,$_Pred) = @_;
	    eval q( &_GLIBCXX_DEBUG_ASSERT($_First == $_Last || !$_Pred(*$_First, *$_First)));
    }' unless defined(&__glibcxx_check_strict_weak_ordering_pred);
    eval 'sub __glibcxx_check_sorted {
        my($_First,$_Last) = @_;
	    eval q( &__glibcxx_check_valid_range($_First,$_Last);  &__glibcxx_check_strict_weak_ordering($_First,$_Last);  &_GLIBCXX_DEBUG_VERIFY( &__gnu_debug:: &__check_sorted($_First, $_Last),  &_M_message( &__gnu_debug:: &__msg_unsorted) . &_M_iterator($_First, $_First) . &_M_iterator($_Last, $_Last)));
    }' unless defined(&__glibcxx_check_sorted);
    eval 'sub __glibcxx_check_sorted_pred {
        my($_First,$_Last,$_Pred) = @_;
	    eval q( &__glibcxx_check_valid_range($_First,$_Last);  &__glibcxx_check_strict_weak_ordering_pred($_First,$_Last,$_Pred);  &_GLIBCXX_DEBUG_VERIFY( &__gnu_debug:: &__check_sorted($_First, $_Last, $_Pred),  &_M_message( &__gnu_debug:: &__msg_unsorted_pred) . &_M_iterator($_First, $_First) . &_M_iterator($_Last, $_Last) . &_M_string($_Pred)));
    }' unless defined(&__glibcxx_check_sorted_pred);
    eval 'sub __glibcxx_check_partitioned {
        my($_First,$_Last,$_Value) = @_;
	    eval q( &__glibcxx_check_valid_range($_First,$_Last);  &_GLIBCXX_DEBUG_VERIFY( &__gnu_debug:: &__check_partitioned($_First, $_Last, $_Value),  &_M_message( &__gnu_debug:: &__msg_unpartitioned) . &_M_iterator($_First, $_First) . &_M_iterator($_Last, $_Last) . &_M_string($_Value)));
    }' unless defined(&__glibcxx_check_partitioned);
    eval 'sub __glibcxx_check_partitioned_pred {
        my($_First,$_Last,$_Value,$_Pred) = @_;
	    eval q( &__glibcxx_check_valid_range($_First,$_Last);  &_GLIBCXX_DEBUG_VERIFY( &__gnu_debug:: &__check_partitioned($_First, $_Last, $_Value, $_Pred),  &_M_message( &__gnu_debug:: &__msg_unpartitioned_pred) . &_M_iterator($_First, $_First) . &_M_iterator($_Last, $_Last) . &_M_string($_Pred) . &_M_string($_Value)));
    }' unless defined(&__glibcxx_check_partitioned_pred);
    eval 'sub __glibcxx_check_heap {
        my($_First,$_Last) = @_;
	    eval q( &__glibcxx_check_valid_range($_First,$_Last);  &_GLIBCXX_DEBUG_VERIFY( &std:: &__is_heap($_First, $_Last),  &_M_message( &__gnu_debug:: &__msg_not_heap) . &_M_iterator($_First, $_First) . &_M_iterator($_Last, $_Last)));
    }' unless defined(&__glibcxx_check_heap);
    eval 'sub __glibcxx_check_heap_pred {
        my($_First,$_Last,$_Pred) = @_;
	    eval q( &__glibcxx_check_valid_range($_First,$_Last);  &_GLIBCXX_DEBUG_VERIFY( &std:: &__is_heap($_First, $_Last, $_Pred),  &_M_message( &__gnu_debug:: &__msg_not_heap_pred) . &_M_iterator($_First, $_First) . &_M_iterator($_Last, $_Last) . &_M_string($_Pred)));
    }' unless defined(&__glibcxx_check_heap_pred);
    if(defined(&_GLIBCXX_DEBUG_PEDANTIC)) {
	eval 'sub __glibcxx_check_string {
	    my($_String) = @_;
    	    eval q( &_GLIBCXX_DEBUG_ASSERT($_String != 0));
	}' unless defined(&__glibcxx_check_string);
	eval 'sub __glibcxx_check_string_len {
	    my($_String,$_Len) = @_;
    	    eval q( &_GLIBCXX_DEBUG_ASSERT($_String != 0|| $_Len == 0));
	}' unless defined(&__glibcxx_check_string_len);
    } else {
	eval 'sub __glibcxx_check_string {
	    my($_String) = @_;
    	    eval q();
	}' unless defined(&__glibcxx_check_string);
	eval 'sub __glibcxx_check_string_len {
	    my($_String,$_Len) = @_;
    	    eval q();
	}' unless defined(&__glibcxx_check_string_len);
    }
}
1;
