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);
    if(0) {
	eval 'sub _GLIBCXX_DEBUG_VERIFY_COND_AT {
	    my($_Cond,$_ErrMsg,$_File,$_Line,$_Func) = @_;
    	    eval q( &if ( &__builtin_is_constant_evaluated())  &break;  &if (! ($_Cond))  &__gnu_debug:: &_Error_formatter:: &_S_at($_File, $_Line, $_Func) . ($_ErrMsg->{_M_error})());
	}' unless defined(&_GLIBCXX_DEBUG_VERIFY_COND_AT);
    } else {
	eval 'sub _GLIBCXX_DEBUG_VERIFY_COND_AT {
	    my($_Cond,$_ErrMsg,$_File,$_Line,$_Func) = @_;
    	    eval q( &if (! ($_Cond))  &__gnu_debug:: &_Error_formatter:: &_S_at($_File, $_Line, $_Func) . ($_ErrMsg->{_M_error})());
	}' unless defined(&_GLIBCXX_DEBUG_VERIFY_COND_AT);
    }
    eval 'sub _GLIBCXX_DEBUG_VERIFY_AT_F {
        my($_Cond,$_ErrMsg,$_File,$_Line,$_Func) = @_;
	    eval q( &do {  &_GLIBCXX_DEBUG_VERIFY_COND_AT($_Cond,$_ErrMsg,$_File,$_Line,$_Func); }  &while ( &false));
    }' unless defined(&_GLIBCXX_DEBUG_VERIFY_AT_F);
    eval 'sub _GLIBCXX_DEBUG_VERIFY_AT {
        my($_Cond,$_ErrMsg,$_File,$_Line) = @_;
	    eval q( &_GLIBCXX_DEBUG_VERIFY_AT_F($_Cond,$_ErrMsg,$_File,$_Line, &__PRETTY_FUNCTION__));
    }' unless defined(&_GLIBCXX_DEBUG_VERIFY_AT);
    eval 'sub _GLIBCXX_DEBUG_VERIFY {
        my($_Cond,$_ErrMsg) = @_;
	    eval q( &_GLIBCXX_DEBUG_VERIFY_AT_F($_Cond, $_ErrMsg,  &__FILE__,  &__LINE__,  &__PRETTY_FUNCTION__));
    }' 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_valid_range_at {
        my($_First,$_Last,$_File,$_Line,$_Func) = @_;
	    eval q( &_GLIBCXX_DEBUG_VERIFY_AT_F( &__gnu_debug:: &__valid_range($_First, $_Last),  &_M_message( &__gnu_debug:: &__msg_valid_range) . &_M_iterator($_First, $_First) . &_M_iterator($_Last, $_Last), $_File,$_Line,$_Func));
    }' unless defined(&__glibcxx_check_valid_range_at);
    eval 'sub __glibcxx_check_valid_range2 {
        my($_First,$_Last,$_Dist) = @_;
	    eval q( &_GLIBCXX_DEBUG_VERIFY( &__gnu_debug:: &__valid_range($_First, $_Last, $_Dist),  &_M_message( &__gnu_debug:: &__msg_valid_range) . &_M_iterator($_First, $_First) . &_M_iterator($_Last, $_Last)));
    }' unless defined(&__glibcxx_check_valid_range2);
    eval 'sub __glibcxx_check_valid_constructor_range {
        my($_First,$_Last) = @_;
	    eval q( &__gnu_debug:: &__check_valid_range($_First, $_Last,  &__FILE__,  &__LINE__,  &__PRETTY_FUNCTION__));
    }' unless defined(&__glibcxx_check_valid_constructor_range);
    eval 'sub __glibcxx_check_non_empty_range {
        my($_First,$_Last) = @_;
	    eval q( &_GLIBCXX_DEBUG_VERIFY($_First != $_Last,  &_M_message( &__gnu_debug:: &__msg_non_empty_range) . &_M_iterator($_First, $_First) . &_M_iterator($_Last, $_Last)));
    }' unless defined(&__glibcxx_check_non_empty_range);
    eval 'sub __glibcxx_check_can_increment {
        my($_First,$_Size) = @_;
	    eval q( &_GLIBCXX_DEBUG_VERIFY( &__gnu_debug:: &__can_advance($_First, $_Size),  &_M_message( &__gnu_debug:: &__msg_iter_subscript_oob) . &_M_iterator($_First, $_First) . &_M_integer($_Size, $_Size)));
    }' unless defined(&__glibcxx_check_can_increment);
    eval 'sub __glibcxx_check_can_increment_dist {
        my($_First,$_Dist,$_Way) = @_;
	    eval q( &_GLIBCXX_DEBUG_VERIFY( &__gnu_debug:: &__can_advance($_First, $_Dist, $_Way),  &_M_message( &__gnu_debug:: &__msg_iter_subscript_oob) . &_M_iterator($_First, $_First) . &_M_integer($_Way *  ($_Dist->{first}), $_Dist)));
    }' unless defined(&__glibcxx_check_can_increment_dist);
    eval 'sub __glibcxx_check_can_increment_range {
        my($_First1,$_Last1,$_First2) = @_;
	    eval q( &do {  &typename  &__gnu_debug:: &_Distance_traits< &__decltype($_First1)>:: &__type  &__dist;  &_GLIBCXX_DEBUG_VERIFY_COND_AT(  &__gnu_debug:: &__valid_range($_First1, $_Last1,  &__dist),  &_M_message( &__gnu_debug:: &__msg_valid_range) . &_M_iterator($_First1, $_First1) . &_M_iterator($_Last1, $_Last1),  &__FILE__, &__LINE__, &__PRETTY_FUNCTION__);  &_GLIBCXX_DEBUG_VERIFY_COND_AT(  &__gnu_debug:: &__can_advance($_First2,  &__dist, 1),  &_M_message( &__gnu_debug:: &__msg_iter_subscript_oob) . &_M_iterator($_First2, $_First2) . &_M_integer( ($__dist->{first})),  &__FILE__, &__LINE__, &__PRETTY_FUNCTION__); }  &while( &false));
    }' unless defined(&__glibcxx_check_can_increment_range);
    eval 'sub __glibcxx_check_can_decrement_range {
        my($_First1,$_Last1,$_First2) = @_;
	    eval q( &do {  &typename  &__gnu_debug:: &_Distance_traits< &__decltype($_First1)>:: &__type  &__dist;  &_GLIBCXX_DEBUG_VERIFY_COND_AT(  &__gnu_debug:: &__valid_range($_First1, $_Last1,  &__dist),  &_M_message( &__gnu_debug:: &__msg_valid_range) . &_M_iterator($_First1, $_First1) . &_M_iterator($_Last1, $_Last1),  &__FILE__, &__LINE__, &__PRETTY_FUNCTION__);  &_GLIBCXX_DEBUG_VERIFY_COND_AT(  &__gnu_debug:: &__can_advance($_First2,  &__dist, -1),  &_M_message( &__gnu_debug:: &__msg_iter_subscript_oob) . &_M_iterator($_First2, $_First2) . &_M_integer(- ($__dist->{first})),  &__FILE__, &__LINE__, &__PRETTY_FUNCTION__); }  &while( &false));
    }' unless defined(&__glibcxx_check_can_decrement_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_after {
        my($_Position) = @_;
	    eval q( &__glibcxx_check_insert($_Position);  &_GLIBCXX_DEBUG_VERIFY(! ($_Position->{_M_is_end})(),  &_M_message( &__gnu_debug:: &__msg_insert_after_end) . &_M_sequence(* &this, \\"this\\") . &_M_iterator($_Position, $_Position)));
    }' unless defined(&__glibcxx_check_insert_after);
    eval 'sub __glibcxx_check_insert_range {
        my($_Position,$_First,$_Last,$_Dist) = @_;
	    eval q( &__glibcxx_check_valid_range2($_First,$_Last,$_Dist);  &__glibcxx_check_insert($_Position);  &_GLIBCXX_DEBUG_VERIFY( &__gnu_debug:: &__foreign_iterator($_Position,$_First,$_Last),  &_M_message( &__gnu_debug:: &__msg_insert_range_from_self) . &_M_iterator($_First, $_First) . &_M_iterator($_Last, $_Last) . &_M_sequence(* &this, \\"this\\")));
    }' unless defined(&__glibcxx_check_insert_range);
    eval 'sub __glibcxx_check_insert_range_after {
        my($_Position,$_First,$_Last,$_Dist) = @_;
	    eval q( &__glibcxx_check_valid_range2($_First,$_Last,$_Dist);  &__glibcxx_check_insert_after($_Position);  &_GLIBCXX_DEBUG_VERIFY( &__gnu_debug:: &__foreign_iterator($_Position,$_First,$_Last),  &_M_message( &__gnu_debug:: &__msg_insert_range_from_self) . &_M_iterator($_First, $_First) . &_M_iterator($_Last, $_Last) . &_M_sequence(* &this, \\"this\\")));
    }' unless defined(&__glibcxx_check_insert_range_after);
    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_after {
        my($_Position) = @_;
	    eval q( &_GLIBCXX_DEBUG_VERIFY( ($_Position->{_M_before_dereferenceable})(),  &_M_message( &__gnu_debug:: &__msg_erase_after_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_after);
    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_erase_range_after {
        my($_First,$_Last) = @_;
	    eval q( &_GLIBCXX_DEBUG_VERIFY( ($_First->{_M_can_compare})($_Last),  &_M_message( &__gnu_debug:: &__msg_erase_different) . &_M_sequence(* &this, \\"this\\") . &_M_iterator($_First, $_First) . &_M_iterator($_Last, $_Last));  &_GLIBCXX_DEBUG_VERIFY( ($_First->{_M_attached_to})( &this),  &_M_message( &__gnu_debug:: &__msg_erase_different) . &_M_sequence(* &this, \\"this\\") . &_M_iterator($_First, $_First));  &_GLIBCXX_DEBUG_VERIFY($_First != $_Last,  &_M_message( &__gnu_debug:: &__msg_valid_range2) . &_M_sequence(* &this, \\"this\\") . &_M_iterator($_First, $_First) . &_M_iterator($_Last, $_Last));  &_GLIBCXX_DEBUG_VERIFY( ($_First->{_M_incrementable})(),  &_M_message( &__gnu_debug:: &__msg_valid_range2) . &_M_sequence(* &this, \\"this\\") . &_M_iterator($_First, $_First) . &_M_iterator($_Last, $_Last));  &_GLIBCXX_DEBUG_VERIFY(! ($_Last->{_M_is_before_begin})(),  &_M_message( &__gnu_debug:: &__msg_valid_range2) . &_M_sequence(* &this, \\"this\\") . &_M_iterator($_First, $_First) . &_M_iterator($_Last, $_Last)));
    }' unless defined(&__glibcxx_check_erase_range_after);
    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_bucket_index {
        my($_N) = @_;
	    eval q( &_GLIBCXX_DEBUG_VERIFY($_N <  ($this->{bucket_count})(),  &_M_message( &__gnu_debug:: &__msg_bucket_index_oob) . &_M_sequence(* &this, \\"this\\") . &_M_integer($_N, $_N) . &_M_integer( ($this->{bucket_count})(), \\"size\\")));
    }' unless defined(&__glibcxx_check_bucket_index);
    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_irreflexive {
        my($_First,$_Last) = @_;
	    eval q( &_GLIBCXX_DEBUG_VERIFY($_First == $_Last || !(*$_First < *$_First),  &_M_message( &__gnu_debug:: &__msg_irreflexive_ordering) . &_M_iterator_value_type($_First, \\"< operator type\\")));
    }' unless defined(&__glibcxx_check_irreflexive);
    if((defined(&__cplusplus) ? &__cplusplus : undef) >= 201103) {
	eval 'sub __glibcxx_check_irreflexive2 {
	    my($_First,$_Last) = @_;
    	    eval q( &_GLIBCXX_DEBUG_VERIFY($_First == $_Last ||  &__gnu_debug:: &__is_irreflexive($_First),  &_M_message( &__gnu_debug:: &__msg_irreflexive_ordering) . &_M_iterator_value_type($_First, \\"< operator type\\")));
	}' unless defined(&__glibcxx_check_irreflexive2);
    } else {
	eval 'sub __glibcxx_check_irreflexive2 {
	    my($_First,$_Last) = @_;
    	    eval q();
	}' unless defined(&__glibcxx_check_irreflexive2);
    }
    eval 'sub __glibcxx_check_irreflexive_pred {
        my($_First,$_Last,$_Pred) = @_;
	    eval q( &_GLIBCXX_DEBUG_VERIFY($_First == $_Last || !$_Pred(*$_First, *$_First),  &_M_message( &__gnu_debug:: &__msg_irreflexive_ordering) . &_M_instance($_Pred, \\"functor\\") . &_M_iterator_value_type($_First, \\"ordered type\\")));
    }' unless defined(&__glibcxx_check_irreflexive_pred);
    if((defined(&__cplusplus) ? &__cplusplus : undef) >= 201103) {
	eval 'sub __glibcxx_check_irreflexive_pred2 {
	    my($_First,$_Last,$_Pred) = @_;
    	    eval q( &_GLIBCXX_DEBUG_VERIFY($_First == $_Last || &__gnu_debug:: &__is_irreflexive_pred($_First, $_Pred),  &_M_message( &__gnu_debug:: &__msg_irreflexive_ordering) . &_M_instance($_Pred, \\"functor\\") . &_M_iterator_value_type($_First, \\"ordered type\\")));
	}' unless defined(&__glibcxx_check_irreflexive_pred2);
    } else {
	eval 'sub __glibcxx_check_irreflexive_pred2 {
	    my($_First,$_Last,$_Pred) = @_;
    	    eval q();
	}' unless defined(&__glibcxx_check_irreflexive_pred2);
    }
    eval 'sub __glibcxx_check_sorted {
        my($_First,$_Last) = @_;
	    eval q( &__glibcxx_check_valid_range($_First,$_Last);  &__glibcxx_check_irreflexive($_First,$_Last);  &_GLIBCXX_DEBUG_VERIFY( &__gnu_debug:: &__check_sorted(  &__gnu_debug:: &__base($_First),  &__gnu_debug:: &__base($_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_irreflexive_pred($_First,$_Last,$_Pred);  &_GLIBCXX_DEBUG_VERIFY( &__gnu_debug:: &__check_sorted(  &__gnu_debug:: &__base($_First),  &__gnu_debug:: &__base($_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_sorted_set {
        my($_First1,$_Last1,$_First2) = @_;
	    eval q( &__glibcxx_check_valid_range($_First1,$_Last1);  &_GLIBCXX_DEBUG_VERIFY(  &__gnu_debug:: &__check_sorted_set( &__gnu_debug:: &__base($_First1),  &__gnu_debug:: &__base($_Last1), $_First2),  &_M_message( &__gnu_debug:: &__msg_unsorted) . &_M_iterator($_First1, $_First1) . &_M_iterator($_Last1, $_Last1)));
    }' unless defined(&__glibcxx_check_sorted_set);
    eval 'sub __glibcxx_check_sorted_set_pred {
        my($_First1,$_Last1,$_First2,$_Pred) = @_;
	    eval q( &__glibcxx_check_valid_range($_First1,$_Last1);  &_GLIBCXX_DEBUG_VERIFY(  &__gnu_debug:: &__check_sorted_set( &__gnu_debug:: &__base($_First1),  &__gnu_debug:: &__base($_Last1), $_First2, $_Pred),  &_M_message( &__gnu_debug:: &__msg_unsorted_pred) . &_M_iterator($_First1, $_First1) . &_M_iterator($_Last1, $_Last1) . &_M_string($_Pred)));
    }' unless defined(&__glibcxx_check_sorted_set_pred);
    eval 'sub __glibcxx_check_partitioned_lower {
        my($_First,$_Last,$_Value) = @_;
	    eval q( &__glibcxx_check_valid_range($_First,$_Last);  &_GLIBCXX_DEBUG_VERIFY( &__gnu_debug:: &__check_partitioned_lower(  &__gnu_debug:: &__base($_First),  &__gnu_debug:: &__base($_Last), $_Value),  &_M_message( &__gnu_debug:: &__msg_unpartitioned) . &_M_iterator($_First, $_First) . &_M_iterator($_Last, $_Last) . &_M_string($_Value)));
    }' unless defined(&__glibcxx_check_partitioned_lower);
    eval 'sub __glibcxx_check_partitioned_upper {
        my($_First,$_Last,$_Value) = @_;
	    eval q( &__glibcxx_check_valid_range($_First,$_Last);  &_GLIBCXX_DEBUG_VERIFY( &__gnu_debug:: &__check_partitioned_upper(  &__gnu_debug:: &__base($_First),  &__gnu_debug:: &__base($_Last), $_Value),  &_M_message( &__gnu_debug:: &__msg_unpartitioned) . &_M_iterator($_First, $_First) . &_M_iterator($_Last, $_Last) . &_M_string($_Value)));
    }' unless defined(&__glibcxx_check_partitioned_upper);
    eval 'sub __glibcxx_check_partitioned_lower_pred {
        my($_First,$_Last,$_Value,$_Pred) = @_;
	    eval q( &__glibcxx_check_valid_range($_First,$_Last);  &_GLIBCXX_DEBUG_VERIFY( &__gnu_debug:: &__check_partitioned_lower(  &__gnu_debug:: &__base($_First),  &__gnu_debug:: &__base($_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_lower_pred);
    eval 'sub __glibcxx_check_partitioned_upper_pred {
        my($_First,$_Last,$_Value,$_Pred) = @_;
	    eval q( &__glibcxx_check_valid_range($_First,$_Last);  &_GLIBCXX_DEBUG_VERIFY( &__gnu_debug:: &__check_partitioned_upper(  &__gnu_debug:: &__base($_First),  &__gnu_debug:: &__base($_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_upper_pred);
    eval 'sub __glibcxx_check_heap {
        my($_First,$_Last) = @_;
	    eval q( &_GLIBCXX_DEBUG_VERIFY( &std:: &__is_heap( &__gnu_debug:: &__base($_First),  &__gnu_debug:: &__base($_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_DEBUG_VERIFY( &std:: &__is_heap( &__gnu_debug:: &__base($_First),  &__gnu_debug:: &__base($_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);
    eval 'sub __glibcxx_check_self_move_assign {
        my($_Other) = @_;
	    eval q( &_GLIBCXX_DEBUG_VERIFY( &this != &$_Other,  &_M_message( &__gnu_debug:: &__msg_self_move_assign) . &_M_sequence(* &this, \\"this\\")));
    }' unless defined(&__glibcxx_check_self_move_assign);
    eval 'sub __glibcxx_check_max_load_factor {
        my($_F) = @_;
	    eval q( &_GLIBCXX_DEBUG_VERIFY($_F > 0.0 &f,  &_M_message( &__gnu_debug:: &__msg_valid_load_factor) . &_M_sequence(* &this, \\"this\\")));
    }' unless defined(&__glibcxx_check_max_load_factor);
    eval 'sub __glibcxx_check_equal_allocs {
        my($_This, $_Other) = @_;
	    eval q( &_GLIBCXX_DEBUG_VERIFY( ($_This->{get_allocator})() ==  ($_Other->{get_allocator})(),  &_M_message( &__gnu_debug:: &__msg_equal_allocs) . &_M_sequence($_This, \\"this\\")));
    }' unless defined(&__glibcxx_check_equal_allocs);
    eval 'sub __glibcxx_check_string {
        my($_String) = @_;
	    eval q( &_GLIBCXX_DEBUG_PEDASSERT($_String != 0));
    }' unless defined(&__glibcxx_check_string);
    eval 'sub __glibcxx_check_string_len {
        my($_String,$_Len) = @_;
	    eval q( &_GLIBCXX_DEBUG_PEDASSERT($_String != 0|| $_Len == 0));
    }' unless defined(&__glibcxx_check_string_len);
}
1;
