OSDN Git Service

decda3d1a122ebab2d2bc1dfa27dbb431418c056
[pf3gnuchains/gcc-fork.git] / libgomp / testsuite / libgomp.c++ / c++.exp
1 load_lib libgomp-dg.exp
2
3 global shlib_ext
4
5 set shlib_ext [get_shlib_extension]
6 set lang_link_flags "-lstdc++"
7 set lang_test_file_found 0
8 set lang_library_path "../libstdc++-v3/src/.libs"
9
10 # Initialize dg.
11 dg-init
12
13 set blddir [lookfor_file [get_multilibs] libgomp]
14
15
16 if { $blddir != "" } {
17     # Look for a static libstdc++ first.
18     if [file exists "${blddir}/${lang_library_path}/libstdc++.a"] {
19         set lang_test_file "${lang_library_path}/libstdc++.a"
20         set lang_test_file_found 1
21         # We may have a shared only build, so look for a shared libstdc++.
22     } elseif [file exists "${blddir}/${lang_library_path}/libstdc++.${shlib_ext}"] {
23         set lang_test_file "${lang_library_path}/libstdc++.${shlib_ext}"
24         set lang_test_file_found 1
25     } else {
26         puts "No libstdc++ library found, will not execute c++ tests"
27     }
28 } elseif { [info exists GXX_UNDER_TEST] } {
29     set lang_test_file_found 1
30     # Needs to exist for libgomp.exp.
31     set lang_test_file ""
32 } else {
33     puts "GXX_UNDER_TEST not defined, will not execute c++ tests"
34 }
35
36 if { $lang_test_file_found } {
37     # Gather a list of all tests.
38     set tests [lsort [glob -nocomplain $srcdir/$subdir/*.C]]
39
40     if { $blddir != "" } {
41         set ld_library_path "$always_ld_library_path:${blddir}/${lang_library_path}"
42     } else {
43         set ld_library_path "$always_ld_library_path"
44     }
45     append ld_library_path [gcc-set-multilib-library-path $GCC_UNDER_TEST]
46     set_ld_library_path_env_vars
47
48     set flags_file "${blddir}/../libstdc++-v3/scripts/testsuite_flags"
49     if { [file exists $flags_file] } {
50         set libstdcxx_includes [exec sh $flags_file --build-includes]
51     } else {
52         set libstdcxx_includes ""
53     }
54
55     # Main loop.
56     gfortran-dg-runtest $tests $libstdcxx_includes
57 }
58
59 # All done.
60 dg-finish