[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