Fix Wstringop-overflow-47.c warning in RISC-V target.
Checks
Context |
Check |
Description |
linaro-tcwg-bot/tcwg_gcc_build--master-arm |
success
|
Build passed
|
linaro-tcwg-bot/tcwg_gcc_check--master-arm |
success
|
Test passed
|
linaro-tcwg-bot/tcwg_gcc_build--master-aarch64 |
success
|
Build passed
|
linaro-tcwg-bot/tcwg_gcc_check--master-aarch64 |
success
|
Test passed
|
rivoscibot/toolchain-ci-rivos-lint |
success
|
Lint passed
|
rivoscibot/toolchain-ci-rivos-apply-patch |
success
|
Patch applied
|
rivoscibot/toolchain-ci-rivos-build--newlib-rv64gcv-lp64d-multilib |
success
|
Build passed
|
rivoscibot/toolchain-ci-rivos-build--linux-rv64gc_zba_zbb_zbc_zbs-lp64d-multilib |
success
|
Build passed
|
rivoscibot/toolchain-ci-rivos-build--linux-rv64gcv-lp64d-multilib |
success
|
Build passed
|
rivoscibot/toolchain-ci-rivos-build--newlib-rv64gc-lp64d-non-multilib |
success
|
Build passed
|
rivoscibot/toolchain-ci-rivos-build--linux-rv64gc-lp64d-non-multilib |
success
|
Build passed
|
rivoscibot/toolchain-ci-rivos-test |
success
|
Testing passed
|
Commit Message
Update warning test info for RISC-V target, compared on godbolt:
https://godbolt.org/z/Mexd3dfcc
gcc/testsuite/ChangeLog:
* gcc.dg/Wstringop-overflow-47.c: Remove xfail target.
---
gcc/testsuite/gcc.dg/Wstringop-overflow-47.c | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
Comments
On 7/15/24 6:15 PM, Jiawei wrote:
> Update warning test info for RISC-V target, compared on godbolt:
>
> https://godbolt.org/z/Mexd3dfcc
>
> gcc/testsuite/ChangeLog:
>
> * gcc.dg/Wstringop-overflow-47.c: Remove xfail target.
IIRC these fails are dependent upon whether or not the statements turn
into vector stores or not.
So to remove the xfail don't you have to know if vector is enabled/disabled?
Jeff
在 2024/07/16 8:28, Jeff Law 写道:
> IIRC these fails are dependent upon whether or not the statements turn
> into vector stores or not.
>
> So to remove the xfail don't you have to know if vector is
> enabled/disabled?
I am not sure, I tried to enable with RVV, but it still pass the test:
https://godbolt.org/z/bvWfffTe5
Any suggestions?
On 7/15/24 10:08 PM, Jiawei wrote:
>
> 在 2024/07/16 8:28, Jeff Law 写道:
>> IIRC these fails are dependent upon whether or not the statements turn
>> into vector stores or not.
>>
>> So to remove the xfail don't you have to know if vector is enabled/
>> disabled?
>
> I am not sure, I tried to enable with RVV, but it still pass the test:
>
> https://godbolt.org/z/bvWfffTe5
Probably because it didn't vectorize ;-) I don't remember all these
tests, but I do remember some of them are highly sensitive to the
changes in code generation from vectorization.
OK for the trunk. Though I wouldn't be surprised if we have to come
back to this at some point and adjust again.
jeff
在 2024/8/5 23:16, Jeff Law 写道:
>
>
> On 7/15/24 10:08 PM, Jiawei wrote:
>>
>> 在 2024/07/16 8:28, Jeff Law 写道:
>>> IIRC these fails are dependent upon whether or not the statements
>>> turn into vector stores or not.
>>>
>>> So to remove the xfail don't you have to know if vector is enabled/
>>> disabled?
>>
>> I am not sure, I tried to enable with RVV, but it still pass the test:
>>
>> https://godbolt.org/z/bvWfffTe5
> Probably because it didn't vectorize ;-) I don't remember all these
> tests, but I do remember some of them are highly sensitive to the
> changes in code generation from vectorization.
>
> OK for the trunk. Though I wouldn't be surprised if we have to come
> back to this at some point and adjust again.
>
> jeff
Committed on trunk, I will keep an eye on this if it went wrong :)
BR,
jiawei
@@ -65,15 +65,15 @@ void warn_i16_64 (int16_t i)
like x86_64 it's a series of BIT_FIELD_REFs. The overflow by
the former is detected but the latter is not yet. */
- extern char warn_a64[64]; // { dg-message "at offset (1|128) into destination object 'warn_a64' of size (63|64)" "pr97027 note" { xfail { ! { aarch64-*-* riscv*-*-* } } } }
+ extern char warn_a64[64]; // { dg-message "at offset (1|128) into destination object 'warn_a64' of size (63|64)" "pr97027 note" { xfail { ! { aarch64-*-* } } } }
void *p = warn_a64 + 1;
I16_64 *q = (I16_64*)p;
- *q = (I16_64){ i }; // { dg-warning "writing (1 byte|64 bytes) into a region of size (0|63)" "pr97027" { xfail { ! { aarch64-*-* riscv*-*-* } } } }
+ *q = (I16_64){ i }; // { dg-warning "writing (1 byte|64 bytes) into a region of size (0|63)" "pr97027" { xfail { ! { aarch64-*-* } } } }
char a64[64];
p = a64 + 1;
q = (I16_64*)p;
- *q = (I16_64){ i }; // { dg-warning "writing (1 byte|64 bytes) into a region of size (0|63)" "pr97027" { xfail { ! { aarch64-*-* riscv*-*-* } } } }
+ *q = (I16_64){ i }; // { dg-warning "writing (1 byte|64 bytes) into a region of size (0|63)" "pr97027" { xfail { ! { aarch64-*-* } } } }
sink (p);
}