On 09/29/2016 12:34 AM, Prasad Ghangal wrote:
Hi all,
I don't know if this is the right time to submit such patches.
But this patch attempts to fix
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=31566
I have successfully bootstrapped and tested on x86_64-pc-linux-gnu
testcases:
file:
-Wall
test.c:
void foo()
{
int a,b;
a = b + 1;
}
@test2:
void foo()
{
int a,b;
a = b + 1;
}
case 1: file and test.c are present
./gcc @file test.c -c
test.c: In function ‘foo’:
test.c:3:7: warning: variable ‘a’ set but not used [-Wunused-but-set-variable]
int a,b;
^
test.c:4:5: warning: ‘b’ is used uninitialized in this function
[-Wuninitialized]
a = b + 1;
~~^~~~~~~
case 2: file1 is not present and test.c,file are present
./gcc @file @file1 test.c -c
gcc: error: file1: No such file or directory
case 3: file is present and test1.c is not present
./gcc @file test1.c -c
gcc: error: test1.c: No such file or directory
gcc: fatal error: no input files
compilation terminated.
case 4: file1 and test1.c both are not present
./gcc @file1 test1.c -c
gcc: error: file1: No such file or directory
gcc: error: test1.c: No such file or directory
gcc: fatal error: no input files
compilation terminated.
case 5: @test2.c is present
./gcc @test2.c -c
-> compiled successfully without any error/warning
case 6: both file and @test2.c are present
./gcc @file @test2.c -c
@test2.c: In function ‘foo’:
@test2.c:3:7: warning: variable ‘a’ set but not used [-Wunused-but-set-variable]
int a,b;
^
@test2.c:4:5: warning: ‘b’ is used uninitialized in this function
[-Wuninitialized]
a = b + 1;
~~^~~~~~~
case 7: @file1 is not present and @test2.c is present
./gcc @file1 @test2.c -c
gcc: error: file1: No such file or directory
case 8: both @file1 and @test3.c are not present
gcc: error: file1: No such file or directory
gcc: error: test3.c: No such file or directory
gcc: fatal error: no input files
compilation terminated.
-- in this case @test3.c is treated as a file with arguments (test3.c)
Thanks. I fixed some minor whitespace nits and installed your fix.
Jeff