load_lib libgomp-dg.exp load_gcc_lib gcc-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" if [info exists lang_include_flags] then { unset lang_include_flags } # 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" # Switch into C++ mode. Otherwise, the libgomp.c-c++-common/*.c # files would be compiled as C files. set SAVE_GCC_UNDER_TEST "$GCC_UNDER_TEST" set GCC_UNDER_TEST "$GCC_UNDER_TEST -x c++" set blddir [lookfor_file [get_multilibs] libgomp] if { $blddir != "" } { # 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 } else { puts "No libstdc++ library found, will not execute c++ tests" } } elseif { [info exists GXX_UNDER_TEST] } { set lang_test_file_found 1 # Needs to exist for libgomp.exp. set lang_test_file "" } else { puts "GXX_UNDER_TEST not defined, will not execute c++ tests" } if { $lang_test_file_found } { # Gather a list of all tests. set tests [lsort [concat \ [find $srcdir/$subdir *.C] \ [find $srcdir/$subdir/../libgomp.c-c++-common *.c]]] if { $blddir != "" } { set ld_library_path "$always_ld_library_path:${blddir}/${lang_library_path}" } else { 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 set flags_file "${blddir}/../libstdc++-v3/scripts/testsuite_flags" if { [file exists $flags_file] } { set libstdcxx_includes [exec sh $flags_file --build-includes] } else { set libstdcxx_includes "" } # Main loop. dg-runtest $tests "" "$libstdcxx_includes $DEFAULT_CFLAGS" } # See above. set GCC_UNDER_TEST "$SAVE_GCC_UNDER_TEST" # All done. dg-finish