Jonathan Yong via Gcc-patches <gcc-patches@gcc.gnu.org> writes:
> On 2/28/23 03:06, Hans-Peter Nilsson wrote:
>> 
>> On Mon, 27 Feb 2023, Jonathan Yong via Gcc-patches wrote:
>> 
>>> This test is for LP64 only, exclude LLP64 too.
>>> Patch OK?
>> 
>> I may be confused, but you're not making use of the "llp64"
>> effective target, there instead excluding/including lp64 /
>> ilp32 in sets that not obviously mean "exclude LLP64".
>> 
>> To wit, how is "! ilp32" -> "lp64" and "ilp32" -> "! lp64"
>> expressing "! llp64"?
>> 
>> brgds, H-P
>
> Attached new version, hopefully it is clearer.
>
> From 91102d00dc701a65dfac5820a2bc57e1e4bed5b2 Mon Sep 17 00:00:00 2001
> From: Jonathan Yong <10wa...@gmail.com>
> Date: Mon, 27 Feb 2023 09:49:31 +0000
> Subject: [PATCH 5/7] gcc.dg/overflow-warn-9.c: Fix LLP64
>
> gcc/testsuite/ChangeLog:
>
>       * gcc.dg/overflow-warn-9.c: Add LLP64 case.
>
> Signed-off-by: Jonathan Yong <10wa...@gmail.com>
> ---
>  gcc/testsuite/gcc.dg/overflow-warn-9.c | 3 ++-
>  1 file changed, 2 insertions(+), 1 deletion(-)
>
> diff --git a/gcc/testsuite/gcc.dg/overflow-warn-9.c 
> b/gcc/testsuite/gcc.dg/overflow-warn-9.c
> index 57c0f17bc91..ae588bd8491 100644
> --- a/gcc/testsuite/gcc.dg/overflow-warn-9.c
> +++ b/gcc/testsuite/gcc.dg/overflow-warn-9.c
> @@ -59,7 +59,8 @@ const struct Types t1 = {
>    .ui = UINT_MAX + 1L,      /* { dg-warning "signed conversion from .long 
> int. to .unsigned int. changes value from .4294967296. to .0." "lp64" { 
> target lp64 } } */
>    .ui = UINT_MAX + 1LU,     /* { dg-warning "conversion from .long unsigned 
> int. to .unsigned int. changes value from .4294967296. to .0." "lp64" { 
> target lp64 } } */
>  
> -  .sl = LONG_MAX + 1LU,     /* { dg-warning "signed conversion from .long 
> unsigned int. to .long int. changes value from .9223372036854775808. to 
> .-9223372036854775808." "not-ilp32" { target { ! ilp32 } } } */
> +  .sl = LONG_MAX + 1LU,     /* { dg-warning "signed conversion from .long 
> unsigned int. to .long int. changes value from .9223372036854775808. to 
> .-9223372036854775808." "lp64" { target lp64 } } */
>    /* { dg-warning "signed conversion from .long unsigned int. to .long int. 
> changes value from .2147483648. to .-2147483648." "ilp32" { target ilp32 } 
> .-1 } */
> +  /* { dg-warning "signed conversion from .long unsigned int. to .long int. 
> changes value from .2147483648. to .-2147483648." "llp64" { target llp64 } 
> .-2 } */
>    .ul = ULONG_MAX + 1LU     /* there should be some warning here */
>  };

OK, although in general I think would be good to use
{ target { ilp32 || llp64 } } for this kind of thing.

No need to change this patch though, just saying for the future.

Thanks,
Richard

Reply via email to