require '_h2ph_pre.ph';

no warnings qw(redefine misc);

unless(defined(&_OMP_H)) {
    eval 'sub _OMP_H () {1;}' unless defined(&_OMP_H);
    unless(defined(&_LIBGOMP_OMP_LOCK_DEFINED)) {
	eval 'sub _LIBGOMP_OMP_LOCK_DEFINED () {1;}' unless defined(&_LIBGOMP_OMP_LOCK_DEFINED);
    }
    eval("sub omp_sched_static () { 1; }") unless defined(&omp_sched_static);
    eval("sub omp_sched_dynamic () { 2; }") unless defined(&omp_sched_dynamic);
    eval("sub omp_sched_guided () { 3; }") unless defined(&omp_sched_guided);
    eval("sub omp_sched_auto () { 4; }") unless defined(&omp_sched_auto);
    eval("sub omp_sched_monotonic () { 0x80000000U; }") unless defined(&omp_sched_monotonic);
    eval("sub omp_proc_bind_false () { 0; }") unless defined(&omp_proc_bind_false);
    eval("sub omp_proc_bind_true () { 1; }") unless defined(&omp_proc_bind_true);
    eval("sub omp_proc_bind_master () { 2; }") unless defined(&omp_proc_bind_master);
    eval("sub omp_proc_bind_close () { 3; }") unless defined(&omp_proc_bind_close);
    eval("sub omp_proc_bind_spread () { 4; }") unless defined(&omp_proc_bind_spread);
    eval("sub omp_sync_hint_none () { 0; }") unless defined(&omp_sync_hint_none);
    eval("sub omp_lock_hint_none () { omp_sync_hint_none; }") unless defined(&omp_lock_hint_none);
    eval("sub omp_sync_hint_uncontended () { 1; }") unless defined(&omp_sync_hint_uncontended);
    eval("sub omp_lock_hint_uncontended () { omp_sync_hint_uncontended; }") unless defined(&omp_lock_hint_uncontended);
    eval("sub omp_sync_hint_contended () { 2; }") unless defined(&omp_sync_hint_contended);
    eval("sub omp_lock_hint_contended () { omp_sync_hint_contended; }") unless defined(&omp_lock_hint_contended);
    eval("sub omp_sync_hint_nonspeculative () { 4; }") unless defined(&omp_sync_hint_nonspeculative);
    eval("sub omp_lock_hint_nonspeculative () { omp_sync_hint_nonspeculative; }") unless defined(&omp_lock_hint_nonspeculative);
    eval("sub omp_sync_hint_speculative () { 8; }") unless defined(&omp_sync_hint_speculative);
    eval("sub omp_lock_hint_speculative () { omp_sync_hint_speculative; }") unless defined(&omp_lock_hint_speculative);
    eval("sub omp_pause_soft () { 1; }") unless defined(&omp_pause_soft);
    eval("sub omp_pause_hard () { 2; }") unless defined(&omp_pause_hard);
    if(defined(&__cplusplus)) {
	eval 'sub __GOMP_NOTHROW () { &throw ();}' unless defined(&__GOMP_NOTHROW);
    } else {
	eval 'sub __GOMP_NOTHROW () { &__attribute__(( &__nothrow__));}' unless defined(&__GOMP_NOTHROW);
    }
    if(defined(&__cplusplus)) {
    }
}
1;
