On Fri, 21 Sep 2018 at 22:47, Mike Stump <m...@mrs.kithrup.com> wrote:
>
> On Sep 17, 2018, at 5:37 PM, Iain Buclaw <ibuc...@gdcproject.org> wrote:
> >
> > This patch adds a further number of tests, but were added as part of
> > fixing gdc-specific bugs.
>
> Ok.  Trivial, and self-review applicable.

Attaching Dejagnu file changes to support what was done in 08/14.

Regards
--
Iain

---
diff --git a/gcc/testsuite/gdc.test/d_do_test.exp b/gcc/testsuite/gdc.test/d_do_test.exp
index a3c49165bbd..246ac850a20 100644
--- a/gcc/testsuite/gdc.test/d_do_test.exp
+++ b/gcc/testsuite/gdc.test/d_do_test.exp
@@ -22,16 +22,16 @@ load_lib gdc-dg.exp
 # Convert DMD arguments to GDC equivalent
 #
 
-proc gdc-convert-args { base args } {
+proc gdc-convert-args { args } {
     set out ""
 
     foreach arg [split [lindex $args 0] " "] {
         # List of switches kept in ASCII collated order.
         if { [regexp -- {^-I([\w+/-]+)} $arg pattern path] } {
-            lappend out "-I$base/$path"
+            lappend out "-I$path"
 
         } elseif { [regexp -- {^-J([\w+/-]+)} $arg pattern path] } {
-            lappend out "-J$base/$path"
+            lappend out "-J$path"
 
         } elseif [string match "-allinst" $arg] {
             lappend out "-fall-instantiations"
@@ -158,6 +158,9 @@ proc gdc-copy-extra { base extra } {
 #
 #   COMPILE_SEPARATELY: Not handled.
 #   EXECUTE_ARGS:       Parameters to add to the execution of the test.
+#   COMPILED_IMPORTS:   List of modules files that are imported by the main
+#                       source file that should be included in compilation.
+#                       Currently handled the same as EXTRA_SOURCES.
 #   EXTRA_SOURCES:      List of extra sources to build and link along with
 #                       the test.
 #   EXTRA_FILES:        List of extra files to copy for the test runs.
@@ -207,7 +210,7 @@ proc dmd2dg { base test } {
 
         } elseif [regexp -- {PERMUTE_ARGS\s*:\s*(.*)} $copy_line match args] {
             # PERMUTE_ARGS is handled by gdc-do-test.
-            set PERMUTE_ARGS [gdc-convert-args $base $args]
+            set PERMUTE_ARGS [gdc-convert-args $args]
             regsub -- {PERMUTE_ARGS.*$} $copy_line "" out_line
 
         } elseif [regexp -- {EXECUTE_ARGS\s*:\s*(.*)} $copy_line match args] {
@@ -219,7 +222,7 @@ proc dmd2dg { base test } {
 
         } elseif [regexp -- {REQUIRED_ARGS\s*:\s*(.*)} $copy_line match args] {
             # Convert all listed arguments to from dmd to gdc-style.
-            set new_option "{ dg-additional-options \"[gdc-convert-args $base $args]\" }"
+            set new_option "{ dg-additional-options \"[gdc-convert-args $args]\" }"
             regsub -- {REQUIRED_ARGS.*$} $copy_line $new_option out_line
 
         } elseif [regexp -- {EXTRA_SOURCES\s*:\s*(.*)} $copy_line match sources] {
@@ -241,7 +244,7 @@ proc dmd2dg { base test } {
             regsub -- {EXTRA_CPP_SOURCES.*$} $copy_line $new_option out_line
 
         } elseif [regexp -- {EXTRA_FILES\s*:\s*(.*)} $copy_line match files] {
-            # Copy all sources to the testsuite build directory.
+            # Copy all files to the testsuite build directory.
             foreach import $files {
                 # print "Import: $base $type/$import"
                 gdc-copy-extra $base "$type/$import"
@@ -249,6 +252,15 @@ proc dmd2dg { base test } {
             set new_option "{ dg-additional-files \"$files\" }"
             regsub -- {EXTRA_FILES.*$} $copy_line $new_option out_line
 
+        } elseif [regexp -- {COMPILED_IMPORTS\s*:\s*(.*)} $copy_line match sources] {
+            # Copy all sources to the testsuite build directory.
+            foreach import $sources {
+                # print "Import: $base $type/$import"
+                gdc-copy-extra $base "$type/$import"
+            }
+            set new_option "{ dg-additional-sources \"$sources\" }"
+            regsub -- {COMPILED_IMPORTS.*$} $copy_line $new_option out_line
+
         }
 
         puts $fdout $out_line

Reply via email to