Wolfgang Thallergcc16 merge934c3885 months agoHistory
115 lines · 3.9 KB · Text
RawDownload
# Copyright (C) 2017-2026 Free Software Foundation, Inc.## This program is free software; you can redistribute it and/or modify# it under the terms of the GNU General Public License as published by# the Free Software Foundation; either version 3 of the License, or# (at your option) any later version.## This program is distributed in the hope that it will be useful,# but WITHOUT ANY WARRANTY; without even the implied warranty of# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the# GNU General Public License for more details.## You should have received a copy of the GNU General Public License# along with GCC; see the file COPYING3.  If not see# <http://www.gnu.org/licenses/>. load_lib libphobos-dg.exp # Immediately exit if target doesn't support shared.if { ![is-effective-target shared] } {    return} # If a testcase doesn't have special options, use these.if ![info exists DEFAULT_CFLAGS] then {    set DEFAULT_CFLAGS "-g"} ## Build all shared libraries, used as dependencies for other tests.# proc shared_library { source destfile options } {    global DEFAULT_DFLAGS    global all_libraries     # Compiling with -fno-gnu-unique as tests call dlopen/dlclose multiple times on the same library.    lappend options "additional_flags=$DEFAULT_DFLAGS -fno-gnu-unique -fpic -shared -shared-libphobos"     set comp_output [libphobos_target_compile "$source" "$destfile" "executable" $options]    if ![ string match "" $comp_output ] {	fail "libphobos.shared/[file tail $source]"	verbose -log $comp_output	return 1    }     lappend all_libraries $destfile} # lib.soshared_library "$srcdir/$subdir/lib.d" "lib.so" "" # liblinkdep.soshared_library "$srcdir/$subdir/liblinkdep.d" "liblinkdep.so" \	[list "additional_flags=-I$srcdir/$subdir lib.so"] # libloaddep.soshared_library "$srcdir/$subdir/libloaddep.d" "libloaddep.so" "" # lib_13414.soshared_library "$srcdir/$subdir/lib_13414.d" "lib_13414.so" "" # plugin.soshared_library "$srcdir/$subdir/plugin.d" "plugin1.so" ""shared_library "$srcdir/$subdir/plugin.d" "plugin2.so" "" set libphobos_skip_tests {    # Skip some tests: dlopen handles are not unique on Solaris (PR d/88150).    { libphobos.shared/finalize.d { *-*-solaris2* } }    { libphobos.shared/load.d { *-*-solaris2* } }    { libphobos.shared/load_13414.d { *-*-solaris2* } }} # Initialize dg.dg-init # Main loop.dg-runtest "$srcdir/$subdir/link.d" "-I$srcdir/$subdir lib.so -shared-libphobos" \	"$DEFAULT_DFLAGS" dg-runtest "$srcdir/$subdir/link_linkdep.d" \	"-I$srcdir/$subdir liblinkdep.so lib.so -shared-libphobos" \	"$DEFAULT_DFLAGS" dg-runtest "$srcdir/$subdir/link_loaddep.d" \	"-I$srcdir/$subdir libloaddep.so -shared-libphobos" "$DEFAULT_DFLAGS" # dlopen() tests.if [is-effective-target dlopen] {    dg-runtest "$srcdir/$subdir/load.d" "-shared-libphobos -ldl" "$DEFAULT_DFLAGS"    dg-runtest "$srcdir/$subdir/load_linkdep.d" "-shared-libphobos -ldl" "$DEFAULT_DFLAGS"    dg-runtest "$srcdir/$subdir/load_loaddep.d" "-shared-libphobos -ldl" "$DEFAULT_DFLAGS"    dg-runtest "$srcdir/$subdir/load_13414.d" "-shared-libphobos -ldl" "$DEFAULT_DFLAGS"    dg-runtest "$srcdir/$subdir/finalize.d" "-shared-libphobos -ldl" "$DEFAULT_DFLAGS"} # C program link tests.if { [is-effective-target dlopen] && [is-effective-target pthread] } {    dg-runtest "$srcdir/$subdir/linkD.c" "lib.so -ldl -pthread" "$DEFAULT_CFLAGS"    dg-runtest "$srcdir/$subdir/linkDR.c" "-shared-libphobos -ldl -pthread" "$DEFAULT_CFLAGS"    dg-runtest "$srcdir/$subdir/host.c" "-ldl -pthread" "$DEFAULT_CFLAGS"     # Test requires a command line argument to be passed to the program.    set libphobos_run_args "${blddir}/src/.libs/libgphobos.${shlib_ext}"    dg-runtest "$srcdir/$subdir/loadDR.c" "-ldl -pthread -g" "$DEFAULT_CFLAGS"    set libphobos_run_args ""} # All done.dg-finish # Remove all libraries built before running tests.foreach lib $all_libraries {    catch "file delete -force -- $lib"}

Keyboard shortcuts

General

Show keyboard shortcuts
?
Focus the current search
/

Issues and pull requests

Open filters
f

Issues, pull requests and Inbox

Select next item
j↓
Select previous item
k↑
Open selected item
Enter
Dismiss filters or clear selection
Esc

Repository code

Go to file
t