# APPLE LOCAL file mainline
load_lib libgomp-dg.exp

global shlib_ext

set shlib_ext [get_shlib_extension]
set lang_link_flags "-lstdc++"
set lang_test_file_found 0
set lang_library_path "../libstdc++-v3/src/.libs"

# Initialize dg.
dg-init

set blddir [lookfor_file [get_multilibs] libgomp]

# Look for a static libstdc++ first.
if [file exists "${blddir}/${lang_library_path}/libstdc++.a"] {
    set lang_test_file "${lang_library_path}/libstdc++.a"
    set lang_test_file_found 1
# We may have a shared only build, so look for a shared libstdc++.
} elseif [file exists "${blddir}/${lang_library_path}/libstdc++.${shlib_ext}"] {
    set lang_test_file "${lang_library_path}/libstdc++.${shlib_ext}"
    set lang_test_file_found 1
# APPLE LOCAL begin mainline candidate
# We may be testing an installed compiler, if $blddir is blank look for 'g++'
} elseif { $blddir == "" } {
    verbose -log "Testing an installed compiler - you'd better have installed g++"
    set GCC_UNDER_TEST [transform "g++"]
    set lang_test_file_found 1
# APPLE LOCAL end mainline candidate
} else {
    puts "No libstdc++ library found, will not execute c++ tests"
}

if { $lang_test_file_found } {
    # Gather a list of all tests.
    set tests [lsort [glob -nocomplain $srcdir/$subdir/*.C]]

    set ld_library_path "$always_ld_library_path:${blddir}/${lang_library_path}"
    set_ld_library_path_env_vars

    # Main loop.
    gfortran-dg-runtest $tests ""
}

# All done.
dg-finish
