[d] Committed small tidy up gdc testsuite scripts

Message ID CABOHX+cBrA2RjzhJo408hBfLWUBfx3s95gNDwwwKkm9aD9-M-Q@mail.gmail.com
State New
Headers show
Series
  • [d] Committed small tidy up gdc testsuite scripts
Related show

Commit Message

Iain Buclaw March 13, 2019, 12:22 a.m.
Hi,

This patch moves the one -fsantize=undefined test to a new ubsan test
directory, guarded by check_effective_target_fsanitize_undefined.

Another recent change to gdc_include_flags left one variable unused,
also noticed that flags was never explicitly returned.  Both have been
fixed up.

Changes tested on x86_64-linux-gnu and committed as obvious to trunk as r269632.

-- 
Iain
---
gcc/testsuite/ChangeLog:

2019-03-13  Iain Buclaw  <ibuclaw@gdcproject.org>

        * gdc.dg/pr88957.d: Move to gdc.dg/ubsan.
        * gdc.dg/ubsan/ubsan.exp: New file.
        * lib/gdc.exp (gdc_include_flags): Remove unused target variable.
        Explicitly return flags from procedure.
---

Patch

diff --git a/gcc/testsuite/gdc.dg/pr88957.d b/gcc/testsuite/gdc.dg/pr88957.d
deleted file mode 100644
index e6366d463b2..00000000000
--- a/gcc/testsuite/gdc.dg/pr88957.d
+++ /dev/null
@@ -1,18 +0,0 @@ 
-// https://gcc.gnu.org/bugzilla/show_bug.cgi?id=88957
-// { dg-do compile }
-// { dg-additional-options "-fsanitize=undefined" }
-
-alias int4 = __vector(int[4]);
-
-int fn(const int[4] x)
-{
-    int sum = 0;
-    foreach (i; x) sum += i;
-    return sum;
-}
-
-void pr88957()
-{
-    auto x = fn(int4.init.array);
-    auto y = fn(int4(2).array);
-}
diff --git a/gcc/testsuite/gdc.dg/ubsan/pr88957.d b/gcc/testsuite/gdc.dg/ubsan/pr88957.d
new file mode 100644
index 00000000000..e6366d463b2
--- /dev/null
+++ b/gcc/testsuite/gdc.dg/ubsan/pr88957.d
@@ -0,0 +1,18 @@ 
+// https://gcc.gnu.org/bugzilla/show_bug.cgi?id=88957
+// { dg-do compile }
+// { dg-additional-options "-fsanitize=undefined" }
+
+alias int4 = __vector(int[4]);
+
+int fn(const int[4] x)
+{
+    int sum = 0;
+    foreach (i; x) sum += i;
+    return sum;
+}
+
+void pr88957()
+{
+    auto x = fn(int4.init.array);
+    auto y = fn(int4(2).array);
+}
diff --git a/gcc/testsuite/gdc.dg/ubsan/ubsan.exp b/gcc/testsuite/gdc.dg/ubsan/ubsan.exp
new file mode 100644
index 00000000000..a2e2da017cc
--- /dev/null
+++ b/gcc/testsuite/gdc.dg/ubsan/ubsan.exp
@@ -0,0 +1,32 @@ 
+#   Copyright (C) 2019 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 support procs.
+load_lib gdc-dg.exp
+load_lib ubsan-dg.exp
+
+# Initialize `dg'.
+dg-init
+ubsan_init
+
+# Main loop.
+if [check_effective_target_fsanitize_undefined] {
+  gdc-dg-runtest [lsort [glob -nocomplain $srcdir/$subdir/*.d]] "" ""
+}
+
+# All done.
+ubsan_finish
+dg-finish
diff --git a/gcc/testsuite/lib/gdc.exp b/gcc/testsuite/lib/gdc.exp
index f5957c3d2ee..e09f5ee987a 100644
--- a/gcc/testsuite/lib/gdc.exp
+++ b/gcc/testsuite/lib/gdc.exp
@@ -78,7 +78,6 @@  proc gdc_include_flags { paths } {
     }
 
     set gccpath ${paths}
-    set target [file tail [file normalize ${paths}]]
 
     if { $gccpath != "" } {
 	if [file exists "${gccpath}/libphobos/libdruntime"] {
@@ -95,6 +94,8 @@  proc gdc_include_flags { paths } {
 	set idx [lsearch $cxxflags "-nostdinc++"]
 	append flags [lreplace $cxxflags $idx $idx]
     }
+
+    return "$flags"
 }
 
 #