[Patch, testsuite] Require int32plus for builtin-sprintf-warn-1.c
Senthil Kumar Selvaraj
senthil_kumar.selvaraj@atmel.com
Wed Sep 28 07:48:00 GMT 2016
James Greenhalgh writes:
> On Tue, Sep 27, 2016 at 04:40:22PM +0530, Senthil Kumar Selvaraj wrote:
>> Hi,
>>
>> This patch requires int32plus for
>> gcc.dg/tree-ssa/builtin-sprintf-warn-1.c, as it reports a bunch of
>> failures for a 16 bit int target like the avr. The "%u" format
>> specifier tests, for example, use int literals big enough to only fit
>> in a long int, and this causes unexpected warnings.
>>
>> Comitted to trunk.
>
> This change is obviously incomplete as it does not update the expected
> line numbers for warnings generated by this testcase.
Sorry for the breakage. While I tested that it reports UNSUPPORTED for
avr, I didn't test that it doesn't break other targets. I thought I'd
just modified behavior to skip the test, didn't realize the side effect
of adding a new line.
Guess Martin already has a patch fixing this and a couple of other
things (https://gcc.gnu.org/ml/gcc-patches/2016-09/msg02073.html).
Thanks Martin!
Regards
Senthil
>
> Found with my bisect robot:
>
> Failures:
> gcc.dg/tree-ssa/builtin-sprintf-warn-1.c
>
> Bisected to:
>
> Author: saaadhu <saaadhu@138bc75d-0d04-0410-961f-82ee72b054a4>
> Date: Tue Sep 27 11:05:25 2016 +0000
>
> Fix bogus test failure for avr
>
> The test has a bunch of hardcoded integer literals that would fit only in a
> 32 bits+ int, causing overflow warnings for a 16 bit int target like avr.
>
> gcc/testsuite/ChangeLog
>
> 2016-09-27 Senthil Kumar Selvaraj <senthil_kumar.selvaraj@atmel.com>
>
> * gcc.dg/tree-ssa/builtin-sprintf-warn-1.c: Require int32plus.
>
>
> git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@240528
>
>
> FAIL: gcc.dg/tree-ssa/builtin-sprintf-warn-1.c (nil) (test for warnings, line 96)
> /* { dg-warning "nul past the end" "(nil)" { target *-linux-gnu *-*-uclinux } 96 } */
>
> FAIL: gcc.dg/tree-ssa/builtin-sprintf-warn-1.c Glibc %p (test for warnings, line 108)
> /* { dg-warning "nul past the end" "Glibc %p" { target *-linux-gnu } 108 } */
> /* { dg-warning "nul past the end" "Generic %p" { target *-*-uclinux } 108 } */
>
> FAIL: gcc.dg/tree-ssa/builtin-sprintf-warn-1.c (test for excess errors)
>
> The line numbers here need bumped to match the change you've made.
>
> Thanks,
> James
>
>
>> 2016-09-27 Senthil Kumar Selvaraj <senthil_kumar.selvaraj@atmel.com>
>>
>> * gcc.dg/tree-ssa/builtin-sprintf-warn-1.c: Require int32plus.
>>
>> PR fortran/77666
>> Index: gcc.dg/tree-ssa/builtin-sprintf-warn-1.c
>> ===================================================================
>> --- gcc.dg/tree-ssa/builtin-sprintf-warn-1.c (revision 240524)
>> +++ gcc.dg/tree-ssa/builtin-sprintf-warn-1.c (working copy)
>> @@ -1,5 +1,6 @@
>> /* { dg-do compile } */
>> /* { dg-options "-std=c99 -Wformat -Wformat-length=1 -ftrack-macro-expansion=0" } */
>> +/* { dg-require-effective-target int32plus } */
>>
>> /* When debugging, define LINE to the line number of the test case to exercise
>> and avoid exercising any of the others. The buffer and objsize macros
>>
More information about the Gcc-patches
mailing list