require '_h2ph_pre.ph';

no warnings 'redefine';

unless(defined(&_STDBOOL_H_)) {
    eval 'sub _STDBOOL_H_ () {1;}' unless defined(&_STDBOOL_H_);
    unless(defined(&__cplusplus)) {
	if(defined( &__GNUC__)  && (defined(&__GNUC__) ? &__GNUC__ : 0) >= 3) {
	    eval 'sub false () {0;}' unless defined(&false);
	    eval 'sub true () {1;}' unless defined(&true);
	} else {
	    eval("sub false () { 0; }") unless defined(&false);
	    eval("sub true () { 1; }") unless defined(&true);
	    eval 'sub false () { &false;}' unless defined(&false);
	    eval 'sub true () { &true;}' unless defined(&true);
	}
	eval 'sub bool () { &_Bool;}' unless defined(&bool);
    } else {
	eval 'sub _Bool () { &bool;}' unless defined(&_Bool);
	eval 'sub bool () { &bool;}' unless defined(&bool);
	eval 'sub false () { &false;}' unless defined(&false);
	eval 'sub true () { &true;}' unless defined(&true);
    }
    eval 'sub __bool_true_false_are_defined () {1;}' unless defined(&__bool_true_false_are_defined);
}
1;
