diff mbox series

Use foreach, not lmap, for tcl <= 8.5 compat

Message ID 20240714194552.2871802-1-j@lambda.is
State New
Headers show
Series Use foreach, not lmap, for tcl <= 8.5 compat | expand

Commit Message

Jørgen Kvalsvik July 14, 2024, 7:45 p.m. UTC
lmap was introduced in tcl 8.6, and while it was released in 2012, lmap
does not really make too much of a difference to warrant the friction on
consverative (and relevant) systems.

gcc/testsuite/ChangeLog:

	* lib/gcov.exp: Use foreach for tcl <= 8.5.
---
 gcc/testsuite/lib/gcov.exp | 28 ++++++++++++++++------------
 1 file changed, 16 insertions(+), 12 deletions(-)

Comments

Jeff Law July 15, 2024, 9:26 p.m. UTC | #1
On 7/14/24 1:45 PM, Jørgen Kvalsvik wrote:
> lmap was introduced in tcl 8.6, and while it was released in 2012, lmap
> does not really make too much of a difference to warrant the friction on
> consverative (and relevant) systems.
> 
> gcc/testsuite/ChangeLog:
> 
> 	* lib/gcov.exp: Use foreach for tcl <= 8.5.
OK
jeff
Roger Sayle July 16, 2024, 7:49 a.m. UTC | #2
Hi Jørgen,
Awesome.  Very many thanks for the speedy fix.
Roger
--

> -----Original Message-----
> From: Jørgen Kvalsvik <j@lambda.is>
> Sent: 14 July 2024 20:46
> To: gcc-patches@gcc.gnu.org
> Cc: jeffreyalaw@gmail.com; roger@nextmovesoftware.com; Jørgen Kvalsvik
> <j@lambda.is>
> Subject: [PATCH] Use foreach, not lmap, for tcl <= 8.5 compat
> 
> lmap was introduced in tcl 8.6, and while it was released in 2012, lmap does not
> really make too much of a difference to warrant the friction on consverative (and
> relevant) systems.
> 
> gcc/testsuite/ChangeLog:
> 
> 	* lib/gcov.exp: Use foreach for tcl <= 8.5.
> ---
>  gcc/testsuite/lib/gcov.exp | 28 ++++++++++++++++------------
>  1 file changed, 16 insertions(+), 12 deletions(-)
> 
> diff --git a/gcc/testsuite/lib/gcov.exp b/gcc/testsuite/lib/gcov.exp index
> 3fc7b65bee5..68696c9aa50 100644
> --- a/gcc/testsuite/lib/gcov.exp
> +++ b/gcc/testsuite/lib/gcov.exp
> @@ -512,25 +512,29 @@ proc verify-filters { testname testcase file expected
> unexpected } {
> 
>      set seen [lsort -unique $seen]
> 
> -    set expected [lmap key $expected {
> -	if { $key in $seen } continue
> -	set key
> -    }]
> -    set unexpected [lmap key $unexpected {
> -	if { $key ni $seen } continue
> -	set key
> -    }]
> -
> -    foreach sym $expected {
> +    set ex {}
> +    foreach key $expected {
> +	if { $key ni $seen } {
> +	    lappend ex $key
> +	}
> +    }
> +    set unex {}
> +    foreach key $unexpected {
> +	if { $key in $seen } {
> +	    lappend unex $key
> +	}
> +    }
> +
> +    foreach sym $ex {
>  	fail "Did not see expected symbol '$sym'"
>      }
> 
> -    foreach sym $unexpected {
> +    foreach sym $unex {
>  	fail "Found unexpected symbol '$sym'"
>      }
> 
>      close $fd
> -    return [expr [llength $expected] + [llength $unexpected]]
> +    return [expr [llength $ex] + [llength $unex]]
>  }
> 
>  proc verify-prime-paths { testname testcase file } {
> --
> 2.39.2
Jørgen Kvalsvik July 17, 2024, 9:33 p.m. UTC | #3
Pushed.

Thanks,
Jørgen

On 7/16/24 09:49, Roger Sayle wrote:
> 
> Hi Jørgen,
> Awesome.  Very many thanks for the speedy fix.
> Roger
> --
> 
>> -----Original Message-----
>> From: Jørgen Kvalsvik <j@lambda.is>
>> Sent: 14 July 2024 20:46
>> To: gcc-patches@gcc.gnu.org
>> Cc: jeffreyalaw@gmail.com; roger@nextmovesoftware.com; Jørgen Kvalsvik
>> <j@lambda.is>
>> Subject: [PATCH] Use foreach, not lmap, for tcl <= 8.5 compat
>>
>> lmap was introduced in tcl 8.6, and while it was released in 2012, lmap does not
>> really make too much of a difference to warrant the friction on consverative (and
>> relevant) systems.
>>
>> gcc/testsuite/ChangeLog:
>>
>> 	* lib/gcov.exp: Use foreach for tcl <= 8.5.
>> ---
>>   gcc/testsuite/lib/gcov.exp | 28 ++++++++++++++++------------
>>   1 file changed, 16 insertions(+), 12 deletions(-)
>>
>> diff --git a/gcc/testsuite/lib/gcov.exp b/gcc/testsuite/lib/gcov.exp index
>> 3fc7b65bee5..68696c9aa50 100644
>> --- a/gcc/testsuite/lib/gcov.exp
>> +++ b/gcc/testsuite/lib/gcov.exp
>> @@ -512,25 +512,29 @@ proc verify-filters { testname testcase file expected
>> unexpected } {
>>
>>       set seen [lsort -unique $seen]
>>
>> -    set expected [lmap key $expected {
>> -	if { $key in $seen } continue
>> -	set key
>> -    }]
>> -    set unexpected [lmap key $unexpected {
>> -	if { $key ni $seen } continue
>> -	set key
>> -    }]
>> -
>> -    foreach sym $expected {
>> +    set ex {}
>> +    foreach key $expected {
>> +	if { $key ni $seen } {
>> +	    lappend ex $key
>> +	}
>> +    }
>> +    set unex {}
>> +    foreach key $unexpected {
>> +	if { $key in $seen } {
>> +	    lappend unex $key
>> +	}
>> +    }
>> +
>> +    foreach sym $ex {
>>   	fail "Did not see expected symbol '$sym'"
>>       }
>>
>> -    foreach sym $unexpected {
>> +    foreach sym $unex {
>>   	fail "Found unexpected symbol '$sym'"
>>       }
>>
>>       close $fd
>> -    return [expr [llength $expected] + [llength $unexpected]]
>> +    return [expr [llength $ex] + [llength $unex]]
>>   }
>>
>>   proc verify-prime-paths { testname testcase file } {
>> --
>> 2.39.2
> 
>
diff mbox series

Patch

diff --git a/gcc/testsuite/lib/gcov.exp b/gcc/testsuite/lib/gcov.exp
index 3fc7b65bee5..68696c9aa50 100644
--- a/gcc/testsuite/lib/gcov.exp
+++ b/gcc/testsuite/lib/gcov.exp
@@ -512,25 +512,29 @@  proc verify-filters { testname testcase file expected unexpected } {
 
     set seen [lsort -unique $seen]
 
-    set expected [lmap key $expected {
-	if { $key in $seen } continue
-	set key
-    }]
-    set unexpected [lmap key $unexpected {
-	if { $key ni $seen } continue
-	set key
-    }]
-
-    foreach sym $expected {
+    set ex {}
+    foreach key $expected {
+	if { $key ni $seen } {
+	    lappend ex $key
+	}
+    }
+    set unex {}
+    foreach key $unexpected {
+	if { $key in $seen } {
+	    lappend unex $key
+	}
+    }
+
+    foreach sym $ex {
 	fail "Did not see expected symbol '$sym'"
     }
 
-    foreach sym $unexpected {
+    foreach sym $unex {
 	fail "Found unexpected symbol '$sym'"
     }
 
     close $fd
-    return [expr [llength $expected] + [llength $unexpected]]
+    return [expr [llength $ex] + [llength $unex]]
 }
 
 proc verify-prime-paths { testname testcase file } {