Current File : //usr/local/apps/perl/lib/site_perl/5.30.0/x86_64-linux/obstack.ph
require '_h2ph_pre.ph';

no warnings qw(redefine misc);

unless(defined(&_OBSTACK_H)) {
    eval 'sub _OBSTACK_H () {1;}' unless defined(&_OBSTACK_H);
    if(defined(&__cplusplus)) {
    }
    if(defined(&__PTRDIFF_TYPE__)) {
	eval 'sub PTR_INT_TYPE () { &__PTRDIFF_TYPE__;}' unless defined(&PTR_INT_TYPE);
    } else {
	require 'stddef.ph';
	eval 'sub PTR_INT_TYPE () { &ptrdiff_t;}' unless defined(&PTR_INT_TYPE);
    }
    eval 'sub __BPTR_ALIGN {
        my($B, $P, $A) = @_;
	    eval q((($B) + ((($P) - ($B) + ($A)) & ~($A))));
    }' unless defined(&__BPTR_ALIGN);
    eval 'sub __PTR_ALIGN {
        my($B, $P, $A) = @_;
	    eval q( &__BPTR_ALIGN ( &sizeof <  &sizeof ? : 0, $P, $A));
    }' unless defined(&__PTR_ALIGN);
    require 'string.ph';
    eval 'sub obstack_base {
        my($h) = @_;
	    eval q((( &void *) ($h)-> &object_base));
    }' unless defined(&obstack_base);
    eval 'sub obstack_chunk_size {
        my($h) = @_;
	    eval q((($h)-> &chunk_size));
    }' unless defined(&obstack_chunk_size);
    eval 'sub obstack_next_free {
        my($h) = @_;
	    eval q((($h)-> &next_free));
    }' unless defined(&obstack_next_free);
    eval 'sub obstack_alignment_mask {
        my($h) = @_;
	    eval q((($h)-> &alignment_mask));
    }' unless defined(&obstack_alignment_mask);
    eval 'sub obstack_init {
        my($h) = @_;
	    eval q( &_obstack_begin (($h), 0, 0, ( &void *(*) )  &obstack_chunk_alloc, ( &void (*) ( &void *))  &obstack_chunk_free));
    }' unless defined(&obstack_init);
    eval 'sub obstack_begin {
        my($h, $size) = @_;
	    eval q( &_obstack_begin (($h), ($size), 0, ( &void *(*) )  &obstack_chunk_alloc, ( &void (*) ( &void *))  &obstack_chunk_free));
    }' unless defined(&obstack_begin);
    eval 'sub obstack_specify_allocation {
        my($h, $size, $alignment, $chunkfun, $freefun) = @_;
	    eval q( &_obstack_begin (($h), ($size), ($alignment), ( &void *(*) ) ($chunkfun), ( &void (*) ( &void *)) ($freefun)));
    }' unless defined(&obstack_specify_allocation);
    eval 'sub obstack_specify_allocation_with_arg {
        my($h, $size, $alignment, $chunkfun, $freefun, $arg) = @_;
	    eval q( &_obstack_begin_1 (($h), ($size), ($alignment), ( &void *(*) ( &void *, \'long\')) ($chunkfun), ( &void (*) ( &void *,  &void *)) ($freefun), ($arg)));
    }' unless defined(&obstack_specify_allocation_with_arg);
    eval 'sub obstack_chunkfun {
        my($h, $newchunkfun) = @_;
	    eval q((($h) ->  &chunkfun = (\'struct _obstack_chunk\' *(*)( &void *, \'long\')) ($newchunkfun)));
    }' unless defined(&obstack_chunkfun);
    eval 'sub obstack_freefun {
        my($h, $newfreefun) = @_;
	    eval q((($h) ->  &freefun = ( &void (*)( &void *, \'struct _obstack_chunk\' *)) ($newfreefun)));
    }' unless defined(&obstack_freefun);
    eval 'sub obstack_1grow_fast {
        my($h,$achar) = @_;
	    eval q((*(($h)-> &next_free)++ = ($achar)));
    }' unless defined(&obstack_1grow_fast);
    eval 'sub obstack_blank_fast {
        my($h,$n) = @_;
	    eval q((($h)-> &next_free += ($n)));
    }' unless defined(&obstack_blank_fast);
    eval 'sub obstack_memory_used {
        my($h) = @_;
	    eval q( &_obstack_memory_used ($h));
    }' unless defined(&obstack_memory_used);
    if(defined (&__GNUC__)  && defined (&__STDC__)  && (defined(&__STDC__) ? &__STDC__ : undef)) {
	if((defined(&__GNUC__) ? &__GNUC__ : undef) < 2|| ((defined(&__NeXT__) ? &__NeXT__ : undef)  && !(defined(&__GNUC_MINOR__) ? &__GNUC_MINOR__ : undef))) {
	    eval 'sub __extension__ () {1;}' unless defined(&__extension__);
	}
	eval 'sub obstack_object_size {
	    my($OBSTACK) = @_;
    	    eval q( &__extension__ ({ \'struct obstack\'  &const * &__o = ($OBSTACK);  ( ($__o->{next_free}) -  ($__o->{object_base})); }));
	}' unless defined(&obstack_object_size);
	eval 'sub obstack_room {
	    my($OBSTACK) = @_;
    	    eval q( &__extension__ ({ \'struct obstack\'  &const * &__o = ; ( ($__o->{chunk_limit}) -  ($__o->{next_free})); }));
	}' unless defined(&obstack_room);
	eval 'sub obstack_make_room {
	    my($OBSTACK,$length) = @_;
    	    eval q( &__extension__ ({ \'struct obstack\' * &__o = ($OBSTACK); \'int\'  &__len = ($length);  &if ( ($__o->{chunk_limit}) -  ($__o->{next_free}) <  &__len)  &_obstack_newchunk ( &__o,  &__len); ( &void) 0; }));
	}' unless defined(&obstack_make_room);
	eval 'sub obstack_empty_p {
	    my($OBSTACK) = @_;
    	    eval q( &__extension__ ({ \'struct obstack\'  &const * &__o = ; ( ($__o->{chunk}->{prev}) == 0 &&  ($__o->{next_free}) ==  &__PTR_ALIGN (  ($__o->{chunk}),  ($__o->{chunk}->{contents}),  ($__o->{alignment_mask}))); }));
	}' unless defined(&obstack_empty_p);
	eval 'sub obstack_grow {
	    my($OBSTACK,$where,$length) = @_;
    	    eval q( &__extension__ ({ \'struct obstack\' * &__o = ($OBSTACK); \'int\'  &__len = ($length);  &if ( ($__o->{next_free}) +  &__len >  ($__o->{chunk_limit}))  &_obstack_newchunk ( &__o,  &__len);  &memcpy ( ($__o->{next_free}), $where,  &__len);  ($__o->{next_free}) +=  &__len; ( &void) 0; }));
	}' unless defined(&obstack_grow);
	eval 'sub obstack_grow0 {
	    my($OBSTACK,$where,$length) = @_;
    	    eval q( &__extension__ ({ \'struct obstack\' * &__o = ($OBSTACK); \'int\'  &__len = ($length);  &if ( ($__o->{next_free}) +  &__len + 1>  ($__o->{chunk_limit}))  &_obstack_newchunk ( &__o,  &__len + 1);  &memcpy ( ($__o->{next_free}), $where,  &__len);  ($__o->{next_free}) +=  &__len; *( ($__o->{next_free}))++ = 0; ( &void) 0; }));
	}' unless defined(&obstack_grow0);
	eval 'sub obstack_1grow {
	    my($OBSTACK,$datum) = @_;
    	    eval q( &__extension__ ({ \'struct obstack\' * &__o = ($OBSTACK);  &if ( ($__o->{next_free}) + 1>  ($__o->{chunk_limit}))  &_obstack_newchunk ( &__o, 1);  &obstack_1grow_fast ( &__o, $datum); ( &void) 0; }));
	}' unless defined(&obstack_1grow);
	eval 'sub obstack_ptr_grow {
	    my($OBSTACK,$datum) = @_;
    	    eval q( &__extension__ ({ \'struct obstack\' * &__o = ($OBSTACK);  &if ( ($__o->{next_free}) + $sizeof{ &void } >  ($__o->{chunk_limit}))  &_obstack_newchunk ( &__o, $sizeof{ &void });  &obstack_ptr_grow_fast ( &__o, $datum); }));
	}' unless defined(&obstack_ptr_grow);
	eval 'sub obstack_int_grow {
	    my($OBSTACK,$datum) = @_;
    	    eval q( &__extension__ ({ \'struct obstack\' * &__o = ($OBSTACK);  &if ( ($__o->{next_free}) + $sizeof{\'int\'} >  ($__o->{chunk_limit}))  &_obstack_newchunk ( &__o, $sizeof{\'int\'});  &obstack_int_grow_fast ( &__o, $datum); }));
	}' unless defined(&obstack_int_grow);
	eval 'sub obstack_ptr_grow_fast {
	    my($OBSTACK,$aptr) = @_;
    	    eval q( &__extension__ ({ \'struct obstack\' * &__o1 = ($OBSTACK); *( &const  &void **)  ($__o1->{next_free}) = ($aptr);  ($__o1->{next_free}) += $sizeof{ &const  &void }; ( &void) 0; }));
	}' unless defined(&obstack_ptr_grow_fast);
	eval 'sub obstack_int_grow_fast {
	    my($OBSTACK,$aint) = @_;
    	    eval q( &__extension__ ({ \'struct obstack\' * &__o1 = ; *  ($__o1->{next_free}) = ($aint);  ($__o1->{next_free}) += $sizeof{\'int\'}; ( &void) 0; }));
	}' unless defined(&obstack_int_grow_fast);
	eval 'sub obstack_blank {
	    my($OBSTACK,$length) = @_;
    	    eval q( &__extension__ ({ \'struct obstack\' * &__o = ($OBSTACK); \'int\'  &__len = ($length);  &if ( ($__o->{chunk_limit}) -  ($__o->{next_free}) <  &__len)  &_obstack_newchunk ( &__o,  &__len);  &obstack_blank_fast ( &__o,  &__len); ( &void) 0; }));
	}' unless defined(&obstack_blank);
	eval 'sub obstack_alloc {
	    my($OBSTACK,$length) = @_;
    	    eval q( &__extension__ ({ \'struct obstack\' * &__h = ($OBSTACK);  &obstack_blank ( &__h, ($length));  &obstack_finish ( &__h); }));
	}' unless defined(&obstack_alloc);
	eval 'sub obstack_copy {
	    my($OBSTACK,$where,$length) = @_;
    	    eval q( &__extension__ ({ \'struct obstack\' * &__h = ($OBSTACK);  &obstack_grow ( &__h, ($where), ($length));  &obstack_finish ( &__h); }));
	}' unless defined(&obstack_copy);
	eval 'sub obstack_copy0 {
	    my($OBSTACK,$where,$length) = @_;
    	    eval q( &__extension__ ({ \'struct obstack\' * &__h = ($OBSTACK);  &obstack_grow0 ( &__h, ($where), ($length));  &obstack_finish ( &__h); }));
	}' unless defined(&obstack_copy0);
	eval 'sub obstack_finish {
	    my($OBSTACK) = @_;
    	    eval q( &__extension__ ({ \'struct obstack\' * &__o1 = ($OBSTACK);  &void * &__value = ( &void *)  ($__o1->{object_base});  &if ( ($__o1->{next_free}) ==  &__value)  ($__o1->{maybe_empty_object}) = 1;  ($__o1->{next_free})	 =  &__PTR_ALIGN ( ($__o1->{object_base}),  ($__o1->{next_free}),  ($__o1->{alignment_mask}));  &if ( ($__o1->{next_free}) -  ($__o1->{chunk})	 >  ($__o1->{chunk_limit}) -  ($__o1->{chunk}))  ($__o1->{next_free}) =  ($__o1->{chunk_limit});  ($__o1->{object_base}) =  ($__o1->{next_free});  &__value; }));
	}' unless defined(&obstack_finish);
	eval 'sub obstack_free {
	    my($OBSTACK, $OBJ) = @_;
    	    eval q( &__extension__ ({ \'struct obstack\' * &__o = ($OBSTACK);  &void * &__obj = ($OBJ);  &if ( &__obj > ( &void *) ($__o->{chunk})  &&  &__obj < ( &void *) ($__o->{chunk_limit}))  ($__o->{next_free}) =  ($__o->{object_base}) =  &__obj;  &else ( &obstack_free) ( &__o,  &__obj); }));
	}' unless defined(&obstack_free);
    } else {
	eval 'sub obstack_object_size {
	    my($h) = @_;
    	    eval q( (($h)-> &next_free - ($h)-> &object_base));
	}' unless defined(&obstack_object_size);
	eval 'sub obstack_room {
	    my($h) = @_;
    	    eval q( (($h)-> &chunk_limit - ($h)-> &next_free));
	}' unless defined(&obstack_room);
	eval 'sub obstack_empty_p {
	    my($h) = @_;
    	    eval q((-> ($c$hunk->{prev}) == 0 && -> &next_free ==  &__PTR_ALIGN ( ($h)-> &chunk, ($h)-> ($c$hunk->{contents}), ($h)-> &alignment_mask)));
	}' unless defined(&obstack_empty_p);
	eval 'sub obstack_make_room {
	    my($h,$length) = @_;
    	    eval q(( ($h)-> ($temp->{tempint}) = ($length), ((($h)-> &next_free + ($h)-> ($temp->{tempint}) > ($h)-> &chunk_limit) ? ( &_obstack_newchunk (($h), ($h)-> ($temp->{tempint})), 0) : 0)));
	}' unless defined(&obstack_make_room);
	eval 'sub obstack_grow {
	    my($h,$where,$length) = @_;
    	    eval q(( ($h)-> ($temp->{tempint}) = ($length), ((($h)-> &next_free + ($h)-> ($temp->{tempint}) > ($h)-> &chunk_limit) ? ( &_obstack_newchunk (($h), ($h)-> ($temp->{tempint})), 0) : 0),  &memcpy (($h)-> &next_free, $where, ($h)-> ($temp->{tempint})), ($h)-> &next_free += ($h)-> ($temp->{tempint})));
	}' unless defined(&obstack_grow);
	eval 'sub obstack_grow0 {
	    my($h,$where,$length) = @_;
    	    eval q(( ($h)-> ($temp->{tempint}) = ($length), ((($h)-> &next_free + ($h)-> ($temp->{tempint}) + 1> ($h)-> &chunk_limit) ? ( &_obstack_newchunk (($h), ($h)-> ($temp->{tempint}) + 1), 0) : 0),  &memcpy (($h)-> &next_free, $where, ($h)-> ($temp->{tempint})), ($h)-> &next_free += ($h)-> ($temp->{tempint}), *(($h)-> &next_free)++ = 0));
	}' unless defined(&obstack_grow0);
	eval 'sub obstack_1grow {
	    my($h,$datum) = @_;
    	    eval q(( ((($h)-> &next_free + 1> ($h)-> &chunk_limit) ? ( &_obstack_newchunk (($h), 1), 0) : 0),  &obstack_1grow_fast ($h, $datum)));
	}' unless defined(&obstack_1grow);
	eval 'sub obstack_ptr_grow {
	    my($h,$datum) = @_;
    	    eval q(( ((($h)-> &next_free + $sizeof{\'char\' } > ($h)-> &chunk_limit) ? ( &_obstack_newchunk (($h), $sizeof{\'char\' }), 0) : 0),  &obstack_ptr_grow_fast ($h, $datum)));
	}' unless defined(&obstack_ptr_grow);
	eval 'sub obstack_int_grow {
	    my($h,$datum) = @_;
    	    eval q(( ((($h)-> &next_free + $sizeof{\'int\'} > ($h)-> &chunk_limit) ? ( &_obstack_newchunk (($h), $sizeof{\'int\'}), 0) : 0),  &obstack_int_grow_fast ($h, $datum)));
	}' unless defined(&obstack_int_grow);
	eval 'sub obstack_ptr_grow_fast {
	    my($h,$aptr) = @_;
    	    eval q(((( &const  &void **) (($h)-> &next_free += $sizeof{ &void }))[-1] = ($aptr)));
	}' unless defined(&obstack_ptr_grow_fast);
	eval 'sub obstack_int_grow_fast {
	    my($h,$aint) = @_;
    	    eval q((( (($h)-> &next_free += $sizeof{\'int\'}))[-1] = ($aint)));
	}' unless defined(&obstack_int_grow_fast);
	eval 'sub obstack_blank {
	    my($h,$length) = @_;
    	    eval q(( ($h)-> ($temp->{tempint}) = ($length), ((($h)-> &chunk_limit - ($h)-> &next_free < ($h)-> ($temp->{tempint})) ? ( &_obstack_newchunk (($h), ($h)-> ($temp->{tempint})), 0) : 0),  &obstack_blank_fast ($h, ($h)-> ($temp->{tempint}))));
	}' unless defined(&obstack_blank);
	eval 'sub obstack_alloc {
	    my($h,$length) = @_;
    	    eval q(( &obstack_blank (($h), ($length)),  &obstack_finish (($h))));
	}' unless defined(&obstack_alloc);
	eval 'sub obstack_copy {
	    my($h,$where,$length) = @_;
    	    eval q(( &obstack_grow (($h), ($where), ($length)),  &obstack_finish (($h))));
	}' unless defined(&obstack_copy);
	eval 'sub obstack_copy0 {
	    my($h,$where,$length) = @_;
    	    eval q(( &obstack_grow0 (($h), ($where), ($length)),  &obstack_finish (($h))));
	}' unless defined(&obstack_copy0);
	eval 'sub obstack_finish {
	    my($h) = @_;
    	    eval q(( (-> &next_free == -> &object_base ? ((-> &maybe_empty_object = 1), 0) : 0), -> ($temp->{tempptr}) = -> &object_base, -> &next_free =  &__PTR_ALIGN (-> &object_base, -> &next_free, -> &alignment_mask), ((-> &next_free - -> &chunk > -> &chunk_limit - ($h)-> &chunk) ? (($h)-> &next_free = ($h)-> &chunk_limit) : 0), ($h)-> &object_base = ($h)-> &next_free, ($h)-> ($temp->{tempptr})));
	}' unless defined(&obstack_finish);
	eval 'sub obstack_free {
	    my($h,$obj) = @_;
    	    eval q(( -> ($temp->{tempint}) = - -> &chunk, (((-> ($temp->{tempint}) > 0 && -> ($temp->{tempint}) < -> &chunk_limit - -> &chunk)) ? (-> &next_free = -> &object_base = -> ($temp->{tempint}) + ($h)-> &chunk) : ((( &obstack_free) (, -> ($temp->{tempint}) + ($h)-> &chunk), 0), 0))));
	}' unless defined(&obstack_free);
    }
    if(defined(&__cplusplus)) {
    }
}
1;