if [info exists lang_library_path] then {
    unset lang_library_path
    unset lang_link_flags
}
if [info exists lang_test_file] then {
    unset lang_test_file
}
if [info exists lang_include_flags] then {
    unset lang_include_flags
}

load_lib libgomp-dg.exp
load_gcc_lib gcc-dg.exp

# If a testcase doesn't have special options, use these.
if ![info exists DEFAULT_CFLAGS] then {
    set DEFAULT_CFLAGS "-O2"
}

# Initialize dg.
dg-init

# Turn on OpenMP.
lappend ALWAYS_CFLAGS "additional_flags=-fopenmp"

# Gather a list of all tests.
set tests [lsort [concat \
		      [find $srcdir/$subdir *.c] \
		      [find $srcdir/$subdir/../libgomp.c-c++-common *.c]]]

set ld_library_path $always_ld_library_path
append ld_library_path [gcc-set-multilib-library-path $GCC_UNDER_TEST]
set_ld_library_path_env_vars

# Main loop.
dg-runtest $tests "" $DEFAULT_CFLAGS

# All done.
dg-finish
