From 5b069d81349aebc8cbaf17098b740333554cf7c6 Mon Sep 17 00:00:00 2001 From: jason Date: Mon, 14 Apr 2014 04:25:55 +0000 Subject: [PATCH] Revert: * lib/gcc-dg.exp (dg-build-dso): New. (gcc-dg-test-1): Handle dg-do-what "dso". git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@209353 138bc75d-0d04-0410-961f-82ee72b054a4 --- gcc/testsuite/ChangeLog | 6 ++++++ gcc/testsuite/g++.dg/dso/dlclose1-dso.cc | 9 --------- gcc/testsuite/g++.dg/dso/dlclose1.C | 30 ------------------------------ gcc/testsuite/lib/gcc-dg.exp | 26 -------------------------- 4 files changed, 6 insertions(+), 65 deletions(-) delete mode 100644 gcc/testsuite/g++.dg/dso/dlclose1-dso.cc delete mode 100644 gcc/testsuite/g++.dg/dso/dlclose1.C diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog index 666ba05c12b..cb235b32071 100644 --- a/gcc/testsuite/ChangeLog +++ b/gcc/testsuite/ChangeLog @@ -1,3 +1,9 @@ +2014-04-14 Jason Merrill + + Revert: + * lib/gcc-dg.exp (dg-build-dso): New. + (gcc-dg-test-1): Handle dg-do-what "dso". + 2014-04-13 Paul Thomas PR fortran/60717 diff --git a/gcc/testsuite/g++.dg/dso/dlclose1-dso.cc b/gcc/testsuite/g++.dg/dso/dlclose1-dso.cc deleted file mode 100644 index cede4839bc0..00000000000 --- a/gcc/testsuite/g++.dg/dso/dlclose1-dso.cc +++ /dev/null @@ -1,9 +0,0 @@ -// { dg-options "-fno-gnu-unique" } - -// A static variable in an inline function uses STB_GNU_UNIQUE normally. -inline int foo() { static int i; return ++i; } - -extern "C" int fn() -{ - return foo(); -} diff --git a/gcc/testsuite/g++.dg/dso/dlclose1.C b/gcc/testsuite/g++.dg/dso/dlclose1.C deleted file mode 100644 index 80f270c2059..00000000000 --- a/gcc/testsuite/g++.dg/dso/dlclose1.C +++ /dev/null @@ -1,30 +0,0 @@ -// PR c++/60731 -// { dg-do run { target { dlopen && disable-for-4.9 } } } -// { dg-add-options dlopen } -// { dg-build-dso "dlclose1-dso.cc" } - -#include -extern "C" void abort(); -extern "C" int printf (const char *, ...); - -// Open and close the DSO for each call so that statics are reinitialized. -int call() -{ - void *h = dlopen ("./dlclose1-dso.so", RTLD_NOW); - if (!h) { printf ("dlopen failed: %s\n", dlerror()); abort(); } - int (*fn)() = (int(*)())dlsym (h, "fn"); - if (!fn) { printf ("dlsym failed: %s\n", dlerror()); abort(); } - int r = fn(); - dlclose (h); - return r; -} - -int main() { - int i = call(); - int j = call(); - if (i != j) - { - printf ("mismatch: %d != %d\n", i, j); - abort(); - } -} diff --git a/gcc/testsuite/lib/gcc-dg.exp b/gcc/testsuite/lib/gcc-dg.exp index 21ef0c2216c..a758d4740fd 100644 --- a/gcc/testsuite/lib/gcc-dg.exp +++ b/gcc/testsuite/lib/gcc-dg.exp @@ -144,11 +144,6 @@ proc gcc-dg-test-1 { target_compile prog do_what extra_tool_flags } { # The following line is needed for targets like the i960 where # the default output file is b.out. Sigh. } - "dso" { - set compile_type "executable" - set output_file "[file rootname [file tail $prog]].so" - set extra_tool_flags "$extra_tool_flags -fPIC -shared" - } "repo" { set compile_type "object" set output_file "[file rootname [file tail $prog]].o" @@ -214,27 +209,6 @@ proc gcc-dg-test { prog do_what extra_tool_flags } { return [gcc-dg-test-1 gcc_target_compile $prog $do_what $extra_tool_flags] } -# Usage: { dg-build-dso "file.ext" } -# Compiles the specified file into "file.so" (treating that compilation as -# a separate test) for use by the main test, and schedules it for removal -# when the main test is complete. The DSO source file should not use "dg-do". -# This relies on a couple of local variable names in dg-test. - -proc dg-build-dso { args } { - global dg-do-what-default - upvar prog main_file - upvar dg-final-code final-code - - set file [lindex $args 1] - set dir "[file dirname $main_file]" - set dg-do-what-default dso - dg-test -keep-output $dir/$file "" "" - set dg-do-what-default compile - - set output_file "[file rootname [file tail $file]].so" - append final-code "remove-build-file $output_file" -} - proc gcc-dg-prune { system text } { global additional_prunes -- 2.11.4.GIT