Re: [PATCH] Modula-2, testsuite: Remove use of concatenated paths.

2023-01-22 Thread Gaius Mulley via Gcc-patches
Iain Sandoe  writes:

> tested on x86_64-darwin21 with an updated compiler that does not support
> the path concatentation and on an unpatched trunk.
> OK for trunk?
> thanks
> Iain
>
> --- 8< ---
>
> The original implementation for Modula-2 search paths allows things like
> '-I/path/a:/path/b'.  Such paths are not compatible with the rest of the
> compiler (in particular, the preprocessor, which Modula-2 uses).  In
> preparation for removing that idiom, this patch rewrites the cases in the
> testsuite and removes string processing where possible from lists of paths.
>
> TODO: There are some apparent discrepancies and/or extraneous insertions
> of partial include paths (especially in gm2_init_log, gm2_init_iso and
> gm2_init_pim) - to be handled in some future patch.
>
> Signed-off-by: Iain Sandoe 
>
> gcc/testsuite/ChangeLog:
>
>   * gm2/case/pass/case-pass.exp: Update for removal of concatenated
>   paths.
>   * gm2/complex/pass/complex-pass.exp: Likewise.
>   * gm2/coroutines/pim/run/pass/coroutines-pim-run-pass.exp: Likewise.
>   * gm2/iso/analysis/fail/iso-analysis-fail.xp: Likewise.
>   * gm2/iso/check/fail/iso-check-fail.exp: Likewise.
>   * gm2/iso/fail/iso-fail.exp: Likewise.
>   * gm2/iso/pass/iso-pass.exp: Likewise.
>   * gm2/isolib/run/pass/isolib-run-pass.exp: Likewise.
>   * gm2/pim/fail/pim-fail.exp: Likewise.
>   * gm2/pim/pass/pim-pass.exp: Likewise.
>   * gm2/pimlib/logitech/run/pass/pimlib-logitech-run-pass.exp: Likewise.
>   * gm2/pimlib/pass/pimlib-pass.exp: Likewise.
>   * gm2/pimlib/run/pass/pimlib-run-pass.exp: Likewise.
>   * gm2/projects/iso/run/pass/halma/projects-iso-run-pass-halma.exp: 
> Likewise.
>   * gm2/projects/iso/run/pass/hello/projects-iso-run-pass-hello.exp: 
> Likewise.
>   * gm2/projects/log/run/pass/hello/projects-log-run-pass-hello.exp: 
> Likewise.
>   * gm2/projects/pim/run/pass/hello/projects-pim-run-pass-hello.exp: 
> Likewise.
>   * gm2/recover/pass/recover-pass.exp: Likewise.
>   * gm2/switches/makeall/fail/switches-makeall-fail.exp: Likewise.
>   * gm2/switches/makeall/pass/switches-makeall-pass.exp: Likewise.
>   * gm2/switches/none/run/pass/gm2-none.exp: Likewise.
>   * gm2/switches/pim2/run/pass/switches-pim2-run-pass.exp: Likewise.
>   * gm2/ulmlib/pass/ulmlib-pass.exp: Likewise.
>   * gm2/ulmlib/std/pass/ulmlib-std-pass.exp: Likewise.
>   * gm2/ulmlib/sys/pass/ulmlib-sys-pass.exp: Likewise.
>   * lib/gm2.exp: Make the paths list a mandatory entry for each 
> gm2_init_xxx
>   function. Remove the use of concatenated include and library paths.
>   Remove string processing where possible.

LGTM - many thanks,

regards,
Gaius


[PATCH] Modula-2, testsuite: Remove use of concatenated paths.

2023-01-22 Thread Iain Sandoe via Gcc-patches
tested on x86_64-darwin21 with an updated compiler that does not support
the path concatentation and on an unpatched trunk.
OK for trunk?
thanks
Iain

--- 8< ---

The original implementation for Modula-2 search paths allows things like
'-I/path/a:/path/b'.  Such paths are not compatible with the rest of the
compiler (in particular, the preprocessor, which Modula-2 uses).  In
preparation for removing that idiom, this patch rewrites the cases in the
testsuite and removes string processing where possible from lists of paths.

TODO: There are some apparent discrepancies and/or extraneous insertions
of partial include paths (especially in gm2_init_log, gm2_init_iso and
gm2_init_pim) - to be handled in some future patch.

Signed-off-by: Iain Sandoe 

gcc/testsuite/ChangeLog:

* gm2/case/pass/case-pass.exp: Update for removal of concatenated
paths.
* gm2/complex/pass/complex-pass.exp: Likewise.
* gm2/coroutines/pim/run/pass/coroutines-pim-run-pass.exp: Likewise.
* gm2/iso/analysis/fail/iso-analysis-fail.xp: Likewise.
* gm2/iso/check/fail/iso-check-fail.exp: Likewise.
* gm2/iso/fail/iso-fail.exp: Likewise.
* gm2/iso/pass/iso-pass.exp: Likewise.
* gm2/isolib/run/pass/isolib-run-pass.exp: Likewise.
* gm2/pim/fail/pim-fail.exp: Likewise.
* gm2/pim/pass/pim-pass.exp: Likewise.
* gm2/pimlib/logitech/run/pass/pimlib-logitech-run-pass.exp: Likewise.
* gm2/pimlib/pass/pimlib-pass.exp: Likewise.
* gm2/pimlib/run/pass/pimlib-run-pass.exp: Likewise.
* gm2/projects/iso/run/pass/halma/projects-iso-run-pass-halma.exp: 
Likewise.
* gm2/projects/iso/run/pass/hello/projects-iso-run-pass-hello.exp: 
Likewise.
* gm2/projects/log/run/pass/hello/projects-log-run-pass-hello.exp: 
Likewise.
* gm2/projects/pim/run/pass/hello/projects-pim-run-pass-hello.exp: 
Likewise.
* gm2/recover/pass/recover-pass.exp: Likewise.
* gm2/switches/makeall/fail/switches-makeall-fail.exp: Likewise.
* gm2/switches/makeall/pass/switches-makeall-pass.exp: Likewise.
* gm2/switches/none/run/pass/gm2-none.exp: Likewise.
* gm2/switches/pim2/run/pass/switches-pim2-run-pass.exp: Likewise.
* gm2/ulmlib/pass/ulmlib-pass.exp: Likewise.
* gm2/ulmlib/std/pass/ulmlib-std-pass.exp: Likewise.
* gm2/ulmlib/sys/pass/ulmlib-sys-pass.exp: Likewise.
* lib/gm2.exp: Make the paths list a mandatory entry for each 
gm2_init_xxx
function. Remove the use of concatenated include and library paths.
Remove string processing where possible.
---
 gcc/testsuite/gm2/case/pass/case-pass.exp |   2 +-
 .../gm2/complex/pass/complex-pass.exp |   2 +-
 .../pim/run/pass/coroutines-pim-run-pass.exp  |   2 +-
 .../iso/analysis/fail/iso-analysis-fail.exp   |   2 +-
 .../gm2/iso/check/fail/iso-check-fail.exp |   2 +-
 gcc/testsuite/gm2/iso/fail/iso-fail.exp   |   2 +-
 gcc/testsuite/gm2/iso/pass/iso-pass.exp   |   2 +-
 .../gm2/isolib/run/pass/isolib-run-pass.exp   |   2 +-
 gcc/testsuite/gm2/pim/fail/pim-fail.exp   |   2 +-
 gcc/testsuite/gm2/pim/pass/pim-pass.exp   |   2 +-
 .../run/pass/pimlib-logitech-run-pass.exp |   2 +-
 gcc/testsuite/gm2/pimlib/pass/pimlib-pass.exp |   2 +-
 .../gm2/pimlib/run/pass/pimlib-run-pass.exp   |   2 +-
 .../halma/projects-iso-run-pass-halma.exp |   2 +-
 .../hello/projects-iso-run-pass-hello.exp |   2 +-
 .../hello/projects-log-run-pass-hello.exp |   3 +-
 .../hello/projects-pim-run-pass-hello.exp |   2 +-
 .../gm2/recover/pass/recover-pass.exp |   2 +-
 .../makeall/fail/switches-makeall-fail.exp|   2 +-
 .../makeall/pass/switches-makeall-pass.exp|   2 +-
 .../gm2/switches/none/run/pass/gm2-none.exp   |   2 +-
 .../pim2/run/pass/switches-pim2-run-pass.exp  |   2 +-
 gcc/testsuite/gm2/ulmlib/pass/ulmlib-pass.exp |   2 +-
 .../gm2/ulmlib/std/pass/ulmlib-std-pass.exp   |   2 +-
 .../gm2/ulmlib/sys/pass/ulmlib-sys-pass.exp   |   2 +-
 gcc/testsuite/lib/gm2.exp | 325 ++
 26 files changed, 200 insertions(+), 176 deletions(-)

diff --git a/gcc/testsuite/gm2/case/pass/case-pass.exp 
b/gcc/testsuite/gm2/case/pass/case-pass.exp
index 9c7211b2b5a..e73e4b4e073 100644
--- a/gcc/testsuite/gm2/case/pass/case-pass.exp
+++ b/gcc/testsuite/gm2/case/pass/case-pass.exp
@@ -25,7 +25,7 @@ if $tracelevel then {
 # load support procs
 load_lib gm2-torture.exp
 
-gm2_init_pim ${srcdir}/gm2/case/pass;
+gm2_init_pim "${srcdir}/gm2/case/pass"
 
 foreach testcase [lsort [glob -nocomplain $srcdir/$subdir/*.mod]] {
 # If we're only testing specific files and this isn't one of them, skip it.
diff --git a/gcc/testsuite/gm2/complex/pass/complex-pass.exp 
b/gcc/testsuite/gm2/complex/pass/complex-pass.exp
index 91d8323ba80..a661be1be56 100644
--- a/gcc/testsuite/gm2/complex/pass/complex-pass.exp
+++ b/gcc/testsuite/gm2/complex/pass/complex-pass.exp
@@ -25,7 +25,7 @@ if