Re: [PATCH] gcc/gcc.c: XNEWVEC enough space for 'saved_suffix' using

2014-08-21 Thread Chen Gang
On 08/22/2014 12:18 AM, Mike Stump wrote:
> On Aug 18, 2014, at 3:06 AM, Chen Gang  wrote:
>> - one for original latest gcc source code (master for 20140816).
>>
>> - one for my modification based on the original latest gcc source code.
>>
>> - they passed building, but for make check, they reported same issues:
> 
> So, I see no evidence that you ran contrib/compare_tests  yet.  Did you?  If 
> so, what was the output?
> 
>> For only sending my patch, may I bypass them,
> 
> So, the output of the make check is uninteresting, only the regressions 
> identified by compare_tests are interesting.  If none, then you’re set wrt 
> the current patch.
> 

OK, thanks. At present, under Fedora 20 x86_64, it passed normal
testsuite:

 - "../gcc/configure && make && make check" succeed (echo $? == 0).

 - "contrib/compare_test dir_orig dir_new" succeed (echo $? == 0).
   
 - The related output of "contrib/compare_test" are:

 # Comparing directories
 ## Dir1=/upstream/build-gcc: 11 sum files
 ## Dir2=/upstream/build-gcc-new: 11 sum files

 # Comparing 11 common sum files
 ## /bin/sh ./compare_tests  /tmp/gxx-sum1.7678 /tmp/gxx-sum2.7678
 # No differences found in 11 common sum files

>> and then I shall try to analyze them one by one in another time, next?
> 
> You can, if you want.  For example, there is a PR on the darwin issue that 
> has state in it.  Roughly binds local is slightly wrong and need fixing.
> 

OK, thank. I shall still try the Darwin, next, in another time, although
it is not related with my new patches for sending.


At last: Thank all of you very much for your much help, and I shall send
related patch next.

Thanks.
-- 
Chen Gang

Open share and attitude like air water and life which God blessed


Re: [PATCH] gcc/gcc.c: XNEWVEC enough space for 'saved_suffix' using

2014-08-21 Thread Mike Stump
On Aug 18, 2014, at 3:06 AM, Chen Gang  wrote:
> - one for original latest gcc source code (master for 20140816).
> 
> - one for my modification based on the original latest gcc source code.
> 
> - they passed building, but for make check, they reported same issues:

So, I see no evidence that you ran contrib/compare_tests  yet.  Did you?  If 
so, what was the output?

> For only sending my patch, may I bypass them,

So, the output of the make check is uninteresting, only the regressions 
identified by compare_tests are interesting.  If none, then you’re set wrt the 
current patch.

> and then I shall try to analyze them one by one in another time, next?

You can, if you want.  For example, there is a PR on the darwin issue that has 
state in it.  Roughly binds local is slightly wrong and need fixing.


Re: [PATCH] gcc/gcc.c: XNEWVEC enough space for 'saved_suffix' using

2014-08-20 Thread Chen Gang
On 08/21/2014 03:23 AM, Mike Stump wrote:
> On Aug 20, 2014, at 11:29 AM, Chen Gang  wrote:
>>
>> It sounds useful to me. At present, my PC is 4 core, so I guess, -j2
> 
> No, -j4….  should be around twice as fast as -j2 on your machine (assuming 
> you aren’t memory starved (4GB or more)).
> 
>> for 2 directories are enough. This time (without "--disable-multilibs),
>> I still use 1x, for I am not sure that it must be success.
> 
> Right, the -j won’t impact correctness, only speed of result.
> 

At present, normal "../gcc/configure && make" is OK for both original
directory and new directory. tonight, I shall run "make check" (I guess,
it shall be OK, too), then try to send related patch tomorrow morning.


Thanks.
-- 
Chen Gang

Open share and attitude like air water and life which God blessed


Re: [PATCH] gcc/gcc.c: XNEWVEC enough space for 'saved_suffix' using

2014-08-20 Thread Mike Stump
On Aug 20, 2014, at 11:29 AM, Chen Gang  wrote:
> 
> It sounds useful to me. At present, my PC is 4 core, so I guess, -j2

No, -j4….  should be around twice as fast as -j2 on your machine (assuming you 
aren’t memory starved (4GB or more)).

> for 2 directories are enough. This time (without "--disable-multilibs),
> I still use 1x, for I am not sure that it must be success.

Right, the -j won’t impact correctness, only speed of result.


Re: [PATCH] gcc/gcc.c: XNEWVEC enough space for 'saved_suffix' using

2014-08-20 Thread Chen Gang
On 08/21/2014 01:35 AM, Mike Stump wrote:
> On Aug 20, 2014, at 7:26 AM, Chen Gang  wrote:
>> - for each test, always contents "unexpected errors" for gcc, g++ ...
>>   but "make check" skip them and continue, at last still "echo $?" = 0.
> 
> I use make -k -j16.  It is roughly 16x faster.  I’d use -j where n is the 
> core count.  I think -k is useful to ensure all the tests always run.  If 
> make check returns 0, then the -k won’t make a difference.  When non-zero, 
> then it might.
> 

It sounds useful to me. At present, my PC is 4 core, so I guess, -j2
for 2 directories are enough. This time (without "--disable-multilibs),
I still use 1x, for I am not sure that it must be success.


Thanks.
-- 
Chen Gang

Open share and attitude like air water and life which God blessed


Re: [PATCH] gcc/gcc.c: XNEWVEC enough space for 'saved_suffix' using

2014-08-20 Thread Mike Stump
On Aug 20, 2014, at 7:26 AM, Chen Gang  wrote:
> - for each test, always contents "unexpected errors" for gcc, g++ ...
>   but "make check" skip them and continue, at last still "echo $?" = 0.

I use make -k -j16.  It is roughly 16x faster.  I’d use -j where n is the 
core count.  I think -k is useful to ensure all the tests always run.  If make 
check returns 0, then the -k won’t make a difference.  When non-zero, then it 
might.

Re: [PATCH] gcc/gcc.c: XNEWVEC enough space for 'saved_suffix' using

2014-08-20 Thread Chen Gang
On 08/18/2014 06:17 PM, Chen Gang wrote:
> Then you didn't do a test suite run.  make check will create .sum files.  Try 
> cd gcc && make check.  Then in testsuite/gcc/gcc.sum there will be a file.
>>>

After get a new PC, I guess, I have passed "make check" with
"--disable-multilibs" (only spent less 10 hours!):

 - "make check" finish return succeed: "echo $?" is 0. And generate 11
   "*.sum" files.

 - 10 of 11 are the same, the different one is about "gcc.sum", after
   check the details contents, it is about my configuration issue, I am
   trying run "cd gcc && make check" again, after re-configuration.

 - for each test, always contents "unexpected errors" for gcc, g++ ...
   but "make check" skip them and continue, at last still "echo $?" = 0.

If what I guess is incorrect, please let me know, thanks.

After finished install gcc*.i686, next, I shall try normal configuration
("enable-multilibs") for "make check". Welcome any ideas, suggestions,
or completions.


Thanks.
-- 
Chen Gang

Open share and attitude like air water and life which God blessed


Re: [PATCH] gcc/gcc.c: XNEWVEC enough space for 'saved_suffix' using

2014-08-18 Thread Chen Gang


On 8/18/14 18:07, Bin.Cheng wrote:
> On Mon, Aug 18, 2014 at 6:06 PM, Chen Gang  wrote:
>> On 08/18/2014 03:05 PM, Bin.Cheng wrote:
>>> On Sun, Aug 17, 2014 at 6:48 PM, Chen Gang  wrote:
 On 08/10/2014 04:15 PM, Chen Gang wrote:
> On 08/10/2014 04:03 PM, Mike Stump wrote:
>> On Aug 9, 2014, at 9:55 AM, Chen Gang  wrote:
 
>>>
>>> Excuse me, I can not find it with `find ./ | grep "\.sum$"`
>>
>> Then you didn't do a test suite run.  make check will create .sum files. 
>>  Try cd gcc && make check.  Then in testsuite/gcc/gcc.sum there will be 
>> a file.
>>

 After check again, I found, I did not install runtest (but it skipped,
 and let "make check" OK), after install from 'dejagnu', can have real
 effect. At present (just running "make check"), some results are:

   Running 
 /upstream/toolchain/gcc/gcc/testsuite/gcc.c-torture/compile/compile.exp ...
   FAIL: gcc.c-torture/compile/20001226-1.c   -O0  (internal compiler error)
   FAIL: gcc.c-torture/compile/20001226-1.c   -O0  (test for excess errors)
   FAIL: gcc.c-torture/compile/20001226-1.c   -O3 -g  (internal compiler 
 error)
   FAIL: gcc.c-torture/compile/20001226-1.c   -O3 -g  (test for excess 
 errors)
   FAIL: gcc.c-torture/compile/limits-blockid.c   -O0  (internal compiler 
 error)
   FAIL: gcc.c-torture/compile/limits-blockid.c   -O0  (test for excess 
 errors)
   FAIL: gcc.c-torture/compile/limits-caselabels.c   -O1  (internal 
 compiler error)
   FAIL: gcc.c-torture/compile/limits-caselabels.c   -O1  (test for excess 
 errors)
   FAIL: gcc.c-torture/compile/limits-enumconst.c   -O0  (internal compiler 
 error)
   FAIL: gcc.c-torture/compile/limits-enumconst.c   -O0  (test for excess 
 errors)
   FAIL: gcc.c-torture/compile/limits-enumconst.c   -O1  (internal compiler 
 error)
   FAIL: gcc.c-torture/compile/limits-enumconst.c   -O1  (test for excess 
 errors)
   FAIL: gcc.c-torture/compile/limits-enumconst.c   -O3 -g  (internal 
 compiler error)
   FAIL: gcc.c-torture/compile/limits-enumconst.c   -O3 -g  (test for 
 excess errors)
   FAIL: gcc.c-torture/compile/limits-enumconst.c   -O2 -flto 
 -fuse-linker-plugin -fno-fat-lto-objects  (internal compiler error)
   FAIL: gcc.c-torture/compile/limits-enumconst.c   -O2 -flto 
 -fuse-linker-plugin -fno-fat-lto-objects  (test for excess errors)
   FAIL: gcc.c-torture/compile/limits-externalid.c   -O3 -g  (internal 
 compiler error)
   FAIL: gcc.c-torture/compile/limits-externalid.c   -O3 -g  (test for 
 excess errors)
   FAIL: gcc.c-torture/compile/limits-externalid.c   -Os  (internal 
 compiler error)
   FAIL: gcc.c-torture/compile/limits-externalid.c   -Os  (test for excess 
 errors)
   FAIL: gcc.c-torture/compile/limits-externdecl.c   -O2  (test for excess 
 errors)
>>> Hi,
>>> You can run below command for a single failed case, which makes it
>>> easier to identify the problem.
>>> $ make check-gcc RUNTESTFLAGS="compile.exp=20001226-1.c"
>>> Then you could look into file gcc/testsuite/gcc/gcc.log for stack
>>> back-trace of internal compiler error.  Usually ICE is easy to
>>> reslove, most likely your change overlooks some simple cases.
>>>
>>
>> Thank you very much for your details explanation, if possible, I shall
>> continue for them when I have time. At least I should know about whether
>> they have negative effect with my related patch which I will send to.
>>
>> Under x86_64 linux, I guess, the reason of these failures are: during
>> compiling, I stop and modify gcc source code, then continue to compile,
>> so they may fail.
>>
>> Under x86_64 mac, I did not touch anything during compiling, and compile
>> the 2 directories together:
>>
>>  - one for original latest gcc source code (master for 20140816).
>>
>>  - one for my modification based on the original latest gcc source code.
>>
>>  - they passed building, but for make check, they reported same issues:
>>
>>  ...
>>
>>  FAIL: g++.dg/abi/covariant4.C  -std=c++98 (internal compiler error)
>>  FAIL: g++.dg/abi/covariant4.C  -std=c++98 (test for excess errors)
>>  FAIL: g++.dg/abi/covariant4.C  -std=c++11 (internal compiler error)
>>  FAIL: g++.dg/abi/covariant4.C  -std=c++11 (test for excess errors)
>>  FAIL: g++.dg/abi/covariant4.C  -std=c++1y (internal compiler error)
>>  FAIL: g++.dg/abi/covariant4.C  -std=c++1y (test for excess errors)
>>  FAIL: g++.dg/abi/dcast1.C  -std=c++98 (internal compiler error)
>>  FAIL: g++.dg/abi/dcast1.C  -std=c++98 (test for excess errors)
>>  FAIL: g++.dg/abi/dcast1.C  -std=c++11 (internal compiler error)
>>  FAIL: g++.dg/abi/dcast1.C  -std=c++11 (test for excess errors)
>>  FAIL: g++.dg/abi/dcast1.C  -std=c++1y (internal compiler error)
>>  FAIL: g++.dg/abi/dcast1.C  -std=c++1y (test for excess errors)
>>  FAIL: g++

Re: [PATCH] gcc/gcc.c: XNEWVEC enough space for 'saved_suffix' using

2014-08-18 Thread Bin.Cheng
On Mon, Aug 18, 2014 at 6:06 PM, Chen Gang  wrote:
> On 08/18/2014 03:05 PM, Bin.Cheng wrote:
>> On Sun, Aug 17, 2014 at 6:48 PM, Chen Gang  wrote:
>>> On 08/10/2014 04:15 PM, Chen Gang wrote:
 On 08/10/2014 04:03 PM, Mike Stump wrote:
> On Aug 9, 2014, at 9:55 AM, Chen Gang  wrote:
>>> 
>>
>> Excuse me, I can not find it with `find ./ | grep "\.sum$"`
>
> Then you didn't do a test suite run.  make check will create .sum files.  
> Try cd gcc && make check.  Then in testsuite/gcc/gcc.sum there will be a 
> file.
>
>>>
>>> After check again, I found, I did not install runtest (but it skipped,
>>> and let "make check" OK), after install from 'dejagnu', can have real
>>> effect. At present (just running "make check"), some results are:
>>>
>>>   Running 
>>> /upstream/toolchain/gcc/gcc/testsuite/gcc.c-torture/compile/compile.exp ...
>>>   FAIL: gcc.c-torture/compile/20001226-1.c   -O0  (internal compiler error)
>>>   FAIL: gcc.c-torture/compile/20001226-1.c   -O0  (test for excess errors)
>>>   FAIL: gcc.c-torture/compile/20001226-1.c   -O3 -g  (internal compiler 
>>> error)
>>>   FAIL: gcc.c-torture/compile/20001226-1.c   -O3 -g  (test for excess 
>>> errors)
>>>   FAIL: gcc.c-torture/compile/limits-blockid.c   -O0  (internal compiler 
>>> error)
>>>   FAIL: gcc.c-torture/compile/limits-blockid.c   -O0  (test for excess 
>>> errors)
>>>   FAIL: gcc.c-torture/compile/limits-caselabels.c   -O1  (internal compiler 
>>> error)
>>>   FAIL: gcc.c-torture/compile/limits-caselabels.c   -O1  (test for excess 
>>> errors)
>>>   FAIL: gcc.c-torture/compile/limits-enumconst.c   -O0  (internal compiler 
>>> error)
>>>   FAIL: gcc.c-torture/compile/limits-enumconst.c   -O0  (test for excess 
>>> errors)
>>>   FAIL: gcc.c-torture/compile/limits-enumconst.c   -O1  (internal compiler 
>>> error)
>>>   FAIL: gcc.c-torture/compile/limits-enumconst.c   -O1  (test for excess 
>>> errors)
>>>   FAIL: gcc.c-torture/compile/limits-enumconst.c   -O3 -g  (internal 
>>> compiler error)
>>>   FAIL: gcc.c-torture/compile/limits-enumconst.c   -O3 -g  (test for excess 
>>> errors)
>>>   FAIL: gcc.c-torture/compile/limits-enumconst.c   -O2 -flto 
>>> -fuse-linker-plugin -fno-fat-lto-objects  (internal compiler error)
>>>   FAIL: gcc.c-torture/compile/limits-enumconst.c   -O2 -flto 
>>> -fuse-linker-plugin -fno-fat-lto-objects  (test for excess errors)
>>>   FAIL: gcc.c-torture/compile/limits-externalid.c   -O3 -g  (internal 
>>> compiler error)
>>>   FAIL: gcc.c-torture/compile/limits-externalid.c   -O3 -g  (test for 
>>> excess errors)
>>>   FAIL: gcc.c-torture/compile/limits-externalid.c   -Os  (internal compiler 
>>> error)
>>>   FAIL: gcc.c-torture/compile/limits-externalid.c   -Os  (test for excess 
>>> errors)
>>>   FAIL: gcc.c-torture/compile/limits-externdecl.c   -O2  (test for excess 
>>> errors)
>> Hi,
>> You can run below command for a single failed case, which makes it
>> easier to identify the problem.
>> $ make check-gcc RUNTESTFLAGS="compile.exp=20001226-1.c"
>> Then you could look into file gcc/testsuite/gcc/gcc.log for stack
>> back-trace of internal compiler error.  Usually ICE is easy to
>> reslove, most likely your change overlooks some simple cases.
>>
>
> Thank you very much for your details explanation, if possible, I shall
> continue for them when I have time. At least I should know about whether
> they have negative effect with my related patch which I will send to.
>
> Under x86_64 linux, I guess, the reason of these failures are: during
> compiling, I stop and modify gcc source code, then continue to compile,
> so they may fail.
>
> Under x86_64 mac, I did not touch anything during compiling, and compile
> the 2 directories together:
>
>  - one for original latest gcc source code (master for 20140816).
>
>  - one for my modification based on the original latest gcc source code.
>
>  - they passed building, but for make check, they reported same issues:
>
>  ...
>
>  FAIL: g++.dg/abi/covariant4.C  -std=c++98 (internal compiler error)
>  FAIL: g++.dg/abi/covariant4.C  -std=c++98 (test for excess errors)
>  FAIL: g++.dg/abi/covariant4.C  -std=c++11 (internal compiler error)
>  FAIL: g++.dg/abi/covariant4.C  -std=c++11 (test for excess errors)
>  FAIL: g++.dg/abi/covariant4.C  -std=c++1y (internal compiler error)
>  FAIL: g++.dg/abi/covariant4.C  -std=c++1y (test for excess errors)
>  FAIL: g++.dg/abi/dcast1.C  -std=c++98 (internal compiler error)
>  FAIL: g++.dg/abi/dcast1.C  -std=c++98 (test for excess errors)
>  FAIL: g++.dg/abi/dcast1.C  -std=c++11 (internal compiler error)
>  FAIL: g++.dg/abi/dcast1.C  -std=c++11 (test for excess errors)
>  FAIL: g++.dg/abi/dcast1.C  -std=c++1y (internal compiler error)
>  FAIL: g++.dg/abi/dcast1.C  -std=c++1y (test for excess errors)
>  FAIL: g++.dg/abi/thunk4.C  -std=c++98 (internal compiler error)
>  FAIL: g++.dg/abi/thunk4.C  -std=c++98 (test for excess errors)
>  FAIL: g+

Re: [PATCH] gcc/gcc.c: XNEWVEC enough space for 'saved_suffix' using

2014-08-18 Thread Chen Gang
On 08/18/2014 03:05 PM, Bin.Cheng wrote:
> On Sun, Aug 17, 2014 at 6:48 PM, Chen Gang  wrote:
>> On 08/10/2014 04:15 PM, Chen Gang wrote:
>>> On 08/10/2014 04:03 PM, Mike Stump wrote:
 On Aug 9, 2014, at 9:55 AM, Chen Gang  wrote:
>> 
>
> Excuse me, I can not find it with `find ./ | grep "\.sum$"`

 Then you didn't do a test suite run.  make check will create .sum files.  
 Try cd gcc && make check.  Then in testsuite/gcc/gcc.sum there will be a 
 file.

>>
>> After check again, I found, I did not install runtest (but it skipped,
>> and let "make check" OK), after install from 'dejagnu', can have real
>> effect. At present (just running "make check"), some results are:
>>
>>   Running 
>> /upstream/toolchain/gcc/gcc/testsuite/gcc.c-torture/compile/compile.exp ...
>>   FAIL: gcc.c-torture/compile/20001226-1.c   -O0  (internal compiler error)
>>   FAIL: gcc.c-torture/compile/20001226-1.c   -O0  (test for excess errors)
>>   FAIL: gcc.c-torture/compile/20001226-1.c   -O3 -g  (internal compiler 
>> error)
>>   FAIL: gcc.c-torture/compile/20001226-1.c   -O3 -g  (test for excess errors)
>>   FAIL: gcc.c-torture/compile/limits-blockid.c   -O0  (internal compiler 
>> error)
>>   FAIL: gcc.c-torture/compile/limits-blockid.c   -O0  (test for excess 
>> errors)
>>   FAIL: gcc.c-torture/compile/limits-caselabels.c   -O1  (internal compiler 
>> error)
>>   FAIL: gcc.c-torture/compile/limits-caselabels.c   -O1  (test for excess 
>> errors)
>>   FAIL: gcc.c-torture/compile/limits-enumconst.c   -O0  (internal compiler 
>> error)
>>   FAIL: gcc.c-torture/compile/limits-enumconst.c   -O0  (test for excess 
>> errors)
>>   FAIL: gcc.c-torture/compile/limits-enumconst.c   -O1  (internal compiler 
>> error)
>>   FAIL: gcc.c-torture/compile/limits-enumconst.c   -O1  (test for excess 
>> errors)
>>   FAIL: gcc.c-torture/compile/limits-enumconst.c   -O3 -g  (internal 
>> compiler error)
>>   FAIL: gcc.c-torture/compile/limits-enumconst.c   -O3 -g  (test for excess 
>> errors)
>>   FAIL: gcc.c-torture/compile/limits-enumconst.c   -O2 -flto 
>> -fuse-linker-plugin -fno-fat-lto-objects  (internal compiler error)
>>   FAIL: gcc.c-torture/compile/limits-enumconst.c   -O2 -flto 
>> -fuse-linker-plugin -fno-fat-lto-objects  (test for excess errors)
>>   FAIL: gcc.c-torture/compile/limits-externalid.c   -O3 -g  (internal 
>> compiler error)
>>   FAIL: gcc.c-torture/compile/limits-externalid.c   -O3 -g  (test for excess 
>> errors)
>>   FAIL: gcc.c-torture/compile/limits-externalid.c   -Os  (internal compiler 
>> error)
>>   FAIL: gcc.c-torture/compile/limits-externalid.c   -Os  (test for excess 
>> errors)
>>   FAIL: gcc.c-torture/compile/limits-externdecl.c   -O2  (test for excess 
>> errors)
> Hi,
> You can run below command for a single failed case, which makes it
> easier to identify the problem.
> $ make check-gcc RUNTESTFLAGS="compile.exp=20001226-1.c"
> Then you could look into file gcc/testsuite/gcc/gcc.log for stack
> back-trace of internal compiler error.  Usually ICE is easy to
> reslove, most likely your change overlooks some simple cases.
> 

Thank you very much for your details explanation, if possible, I shall
continue for them when I have time. At least I should know about whether
they have negative effect with my related patch which I will send to.

Under x86_64 linux, I guess, the reason of these failures are: during
compiling, I stop and modify gcc source code, then continue to compile,
so they may fail.

Under x86_64 mac, I did not touch anything during compiling, and compile
the 2 directories together:

 - one for original latest gcc source code (master for 20140816).

 - one for my modification based on the original latest gcc source code.

 - they passed building, but for make check, they reported same issues:

 ...

 FAIL: g++.dg/abi/covariant4.C  -std=c++98 (internal compiler error)
 FAIL: g++.dg/abi/covariant4.C  -std=c++98 (test for excess errors)
 FAIL: g++.dg/abi/covariant4.C  -std=c++11 (internal compiler error)
 FAIL: g++.dg/abi/covariant4.C  -std=c++11 (test for excess errors)
 FAIL: g++.dg/abi/covariant4.C  -std=c++1y (internal compiler error)
 FAIL: g++.dg/abi/covariant4.C  -std=c++1y (test for excess errors)
 FAIL: g++.dg/abi/dcast1.C  -std=c++98 (internal compiler error)
 FAIL: g++.dg/abi/dcast1.C  -std=c++98 (test for excess errors)
 FAIL: g++.dg/abi/dcast1.C  -std=c++11 (internal compiler error)
 FAIL: g++.dg/abi/dcast1.C  -std=c++11 (test for excess errors)
 FAIL: g++.dg/abi/dcast1.C  -std=c++1y (internal compiler error)
 FAIL: g++.dg/abi/dcast1.C  -std=c++1y (test for excess errors)
 FAIL: g++.dg/abi/thunk4.C  -std=c++98 (internal compiler error)
 FAIL: g++.dg/abi/thunk4.C  -std=c++98 (test for excess errors)
 FAIL: g++.dg/abi/thunk4.C  -std=c++11 (internal compiler error)
 FAIL: g++.dg/abi/thunk4.C  -std=c++11 (test for excess errors)
 FAIL: g++.dg/abi/thunk4.C  -std=c++1y (internal compiler

Re: [PATCH] gcc/gcc.c: XNEWVEC enough space for 'saved_suffix' using

2014-08-18 Thread Bin.Cheng
On Sun, Aug 17, 2014 at 6:48 PM, Chen Gang  wrote:
> On 08/10/2014 04:15 PM, Chen Gang wrote:
>> On 08/10/2014 04:03 PM, Mike Stump wrote:
>>> On Aug 9, 2014, at 9:55 AM, Chen Gang  wrote:
> 

 Excuse me, I can not find it with `find ./ | grep "\.sum$"`
>>>
>>> Then you didn't do a test suite run.  make check will create .sum files.  
>>> Try cd gcc && make check.  Then in testsuite/gcc/gcc.sum there will be a 
>>> file.
>>>
>
> After check again, I found, I did not install runtest (but it skipped,
> and let "make check" OK), after install from 'dejagnu', can have real
> effect. At present (just running "make check"), some results are:
>
>   Running 
> /upstream/toolchain/gcc/gcc/testsuite/gcc.c-torture/compile/compile.exp ...
>   FAIL: gcc.c-torture/compile/20001226-1.c   -O0  (internal compiler error)
>   FAIL: gcc.c-torture/compile/20001226-1.c   -O0  (test for excess errors)
>   FAIL: gcc.c-torture/compile/20001226-1.c   -O3 -g  (internal compiler error)
>   FAIL: gcc.c-torture/compile/20001226-1.c   -O3 -g  (test for excess errors)
>   FAIL: gcc.c-torture/compile/limits-blockid.c   -O0  (internal compiler 
> error)
>   FAIL: gcc.c-torture/compile/limits-blockid.c   -O0  (test for excess errors)
>   FAIL: gcc.c-torture/compile/limits-caselabels.c   -O1  (internal compiler 
> error)
>   FAIL: gcc.c-torture/compile/limits-caselabels.c   -O1  (test for excess 
> errors)
>   FAIL: gcc.c-torture/compile/limits-enumconst.c   -O0  (internal compiler 
> error)
>   FAIL: gcc.c-torture/compile/limits-enumconst.c   -O0  (test for excess 
> errors)
>   FAIL: gcc.c-torture/compile/limits-enumconst.c   -O1  (internal compiler 
> error)
>   FAIL: gcc.c-torture/compile/limits-enumconst.c   -O1  (test for excess 
> errors)
>   FAIL: gcc.c-torture/compile/limits-enumconst.c   -O3 -g  (internal compiler 
> error)
>   FAIL: gcc.c-torture/compile/limits-enumconst.c   -O3 -g  (test for excess 
> errors)
>   FAIL: gcc.c-torture/compile/limits-enumconst.c   -O2 -flto 
> -fuse-linker-plugin -fno-fat-lto-objects  (internal compiler error)
>   FAIL: gcc.c-torture/compile/limits-enumconst.c   -O2 -flto 
> -fuse-linker-plugin -fno-fat-lto-objects  (test for excess errors)
>   FAIL: gcc.c-torture/compile/limits-externalid.c   -O3 -g  (internal 
> compiler error)
>   FAIL: gcc.c-torture/compile/limits-externalid.c   -O3 -g  (test for excess 
> errors)
>   FAIL: gcc.c-torture/compile/limits-externalid.c   -Os  (internal compiler 
> error)
>   FAIL: gcc.c-torture/compile/limits-externalid.c   -Os  (test for excess 
> errors)
>   FAIL: gcc.c-torture/compile/limits-externdecl.c   -O2  (test for excess 
> errors)
Hi,
You can run below command for a single failed case, which makes it
easier to identify the problem.
$ make check-gcc RUNTESTFLAGS="compile.exp=20001226-1.c"
Then you could look into file gcc/testsuite/gcc/gcc.log for stack
back-trace of internal compiler error.  Usually ICE is easy to
reslove, most likely your change overlooks some simple cases.

Thanks,
bin

>   ...
>
> Do these contents mean: I make any incorrect configuration, again?
>
>
>>
>> OK, thanks, I built it under individual directory "build-gcc", I guess
>> your meaning is "cd ./build-gcc/gcc && make check". If what I guess is
>> incorrect, please let me know, thanks.
>>
 After comparing, should the related ".sum" files be the same (same means
 pass checking)?
>>>
>>> No, use contrib/compare_tests before_dir after_dir  :-)  If you _save_off 
>>> the .sum files, you can use the places where you same them off.  If you use 
>>> two trees, you can just use them directly (no saving off).
>>>
>>> where the two are the build directories that you did a make check in.  The 
>>> output will be in simple english and should be readily understandable.
>>>
>
> After try, I found your information about 2 build directories are very
> useful for me, which can same much time under smp machine.
>
> And sorry, I did not finish "make check" at the time point. I wasted my
> time resources (of my free time) on constructing PC environments and my
> x86_64 laptop environments.
>
>  - x86_64 laptop under ubuntu: try to update 'libc6' package to install
>'autogen'. At last, I succeed: overwrite libc6 package files under
>individual living system, and then modify dpkg config file manually.
>
>  - PC environments: I failed, the reason is my PC hardware is not stable
>enough (low quality). After building several hours, the machine will
>reboot automatically (tried several times, each needs several hours).
>
> And I shall try to finish as soon as possible (may tomorrow or the day
> after tomorrow, under Mac book, and within a week under x86_64 laptop).
>
>>
>> OK, Thanks, and I shall try to finish within next week (one building is
>> still very long, although I have switched to mac book -- more higher
>> performance machine).
>>
>>
>> Thanks.
>>
>
> Thanks.
> --
> Chen Gang
>
> Open, share, and attitude like air, water, and life which God blessed


Re: [PATCH] gcc/gcc.c: XNEWVEC enough space for 'saved_suffix' using

2014-08-17 Thread Chen Gang
On 08/10/2014 04:15 PM, Chen Gang wrote:
> On 08/10/2014 04:03 PM, Mike Stump wrote:
>> On Aug 9, 2014, at 9:55 AM, Chen Gang  wrote:
 
>>>
>>> Excuse me, I can not find it with `find ./ | grep "\.sum$”`
>>
>> Then you didn’t do a test suite run.  make check will create .sum files.  
>> Try cd gcc && make check.  Then in testsuite/gcc/gcc.sum there will be a 
>> file.
>>

After check again, I found, I did not install runtest (but it skipped,
and let "make check" OK), after install from 'dejagnu', can have real
effect. At present (just running "make check"), some results are:

  Running 
/upstream/toolchain/gcc/gcc/testsuite/gcc.c-torture/compile/compile.exp ...
  FAIL: gcc.c-torture/compile/20001226-1.c   -O0  (internal compiler error)
  FAIL: gcc.c-torture/compile/20001226-1.c   -O0  (test for excess errors)
  FAIL: gcc.c-torture/compile/20001226-1.c   -O3 -g  (internal compiler error)
  FAIL: gcc.c-torture/compile/20001226-1.c   -O3 -g  (test for excess errors)
  FAIL: gcc.c-torture/compile/limits-blockid.c   -O0  (internal compiler error)
  FAIL: gcc.c-torture/compile/limits-blockid.c   -O0  (test for excess errors)
  FAIL: gcc.c-torture/compile/limits-caselabels.c   -O1  (internal compiler 
error)
  FAIL: gcc.c-torture/compile/limits-caselabels.c   -O1  (test for excess 
errors)
  FAIL: gcc.c-torture/compile/limits-enumconst.c   -O0  (internal compiler 
error)
  FAIL: gcc.c-torture/compile/limits-enumconst.c   -O0  (test for excess errors)
  FAIL: gcc.c-torture/compile/limits-enumconst.c   -O1  (internal compiler 
error)
  FAIL: gcc.c-torture/compile/limits-enumconst.c   -O1  (test for excess errors)
  FAIL: gcc.c-torture/compile/limits-enumconst.c   -O3 -g  (internal compiler 
error)
  FAIL: gcc.c-torture/compile/limits-enumconst.c   -O3 -g  (test for excess 
errors)
  FAIL: gcc.c-torture/compile/limits-enumconst.c   -O2 -flto 
-fuse-linker-plugin -fno-fat-lto-objects  (internal compiler error)
  FAIL: gcc.c-torture/compile/limits-enumconst.c   -O2 -flto 
-fuse-linker-plugin -fno-fat-lto-objects  (test for excess errors)
  FAIL: gcc.c-torture/compile/limits-externalid.c   -O3 -g  (internal compiler 
error)
  FAIL: gcc.c-torture/compile/limits-externalid.c   -O3 -g  (test for excess 
errors)
  FAIL: gcc.c-torture/compile/limits-externalid.c   -Os  (internal compiler 
error)
  FAIL: gcc.c-torture/compile/limits-externalid.c   -Os  (test for excess 
errors)
  FAIL: gcc.c-torture/compile/limits-externdecl.c   -O2  (test for excess 
errors)
  ...

Do these contents mean: I make any incorrect configuration, again?


> 
> OK, thanks, I built it under individual directory "build-gcc", I guess
> your meaning is "cd ./build-gcc/gcc && make check". If what I guess is
> incorrect, please let me know, thanks.
> 
>>> After comparing, should the related ".sum" files be the same (same means
>>> pass checking)?
>>
>> No, use contrib/compare_tests before_dir after_dir  :-)  If you _save_off 
>> the .sum files, you can use the places where you same them off.  If you use 
>> two trees, you can just use them directly (no saving off).
>>
>> where the two are the build directories that you did a make check in.  The 
>> output will be in simple english and should be readily understandable.
>>

After try, I found your information about 2 build directories are very
useful for me, which can same much time under smp machine.

And sorry, I did not finish "make check" at the time point. I wasted my
time resources (of my free time) on constructing PC environments and my
x86_64 laptop environments.

 - x86_64 laptop under ubuntu: try to update 'libc6' package to install
   'autogen'. At last, I succeed: overwrite libc6 package files under
   individual living system, and then modify dpkg config file manually.

 - PC environments: I failed, the reason is my PC hardware is not stable
   enough (low quality). After building several hours, the machine will
   reboot automatically (tried several times, each needs several hours).

And I shall try to finish as soon as possible (may tomorrow or the day
after tomorrow, under Mac book, and within a week under x86_64 laptop).

> 
> OK, Thanks, and I shall try to finish within next week (one building is
> still very long, although I have switched to mac book -- more higher
> performance machine).
> 
> 
> Thanks.
> 

Thanks.
-- 
Chen Gang

Open, share, and attitude like air, water, and life which God blessed


Re: [PATCH] gcc/gcc.c: XNEWVEC enough space for 'saved_suffix' using

2014-08-10 Thread Chen Gang
On 08/10/2014 04:03 PM, Mike Stump wrote:
> On Aug 9, 2014, at 9:55 AM, Chen Gang  wrote:
>>> 
>>
>> Excuse me, I can not find it with `find ./ | grep "\.sum$”`
> 
> Then you didn’t do a test suite run.  make check will create .sum files.  Try 
> cd gcc && make check.  Then in testsuite/gcc/gcc.sum there will be a file.
> 

OK, thanks, I built it under individual directory "build-gcc", I guess
your meaning is "cd ./build-gcc/gcc && make check". If what I guess is
incorrect, please let me know, thanks.

>> After comparing, should the related ".sum" files be the same (same means
>> pass checking)?
> 
> No, use contrib/compare_tests before_dir after_dir  :-)  If you _save_off the 
> .sum files, you can use the places where you same them off.  If you use two 
> trees, you can just use them directly (no saving off).
> 
> where the two are the build directories that you did a make check in.  The 
> output will be in simple english and should be readily understandable.
> 

OK, Thanks, and I shall try to finish within next week (one building is
still very long, although I have switched to mac book -- more higher
performance machine).


Thanks.
-- 
Chen Gang

Open, share, and attitude like air, water, and life which God blessed


Re: [PATCH] gcc/gcc.c: XNEWVEC enough space for 'saved_suffix' using

2014-08-10 Thread Mike Stump
On Aug 9, 2014, at 9:55 AM, Chen Gang  wrote:
>> 
> 
> Excuse me, I can not find it with `find ./ | grep "\.sum$”`

Then you didn’t do a test suite run.  make check will create .sum files.  Try 
cd gcc && make check.  Then in testsuite/gcc/gcc.sum there will be a file.

> After comparing, should the related ".sum" files be the same (same means
> pass checking)?

No, use contrib/compare_tests before_dir after_dir  :-)  If you _save_off the 
.sum files, you can use the places where you same them off.  If you use two 
trees, you can just use them directly (no saving off).

where the two are the build directories that you did a make check in.  The 
output will be in simple english and should be readily understandable.

Re: [PATCH] gcc/gcc.c: XNEWVEC enough space for 'saved_suffix' using

2014-08-09 Thread Chen Gang


On 8/10/14 0:55, Chen Gang wrote:
> On 8/1/14 6:36, Jeff Law wrote:
>>
>> make
>> make check
> 
> It is OK (I finish the 2 steps under Mac book).
> 
>> 
> 
> Excuse me, I can not find it with `find ./ | grep "\.sum$"`
> 
> [...]
>> 
> 
> After comparing, should the related ".sum" files be the same (same means
> pass checking)?
> 

Oh! I guess "<...>" means optional steps, make && make check are enough
for simple modification. And I shall send the trivial patch directly,
if it really needs additional necessary steps, please reply that thread.


Thanks.
-- 
Chen Gang

Open, share, and attitude like air, water, and life which God blessed


Re: [PATCH] gcc/gcc.c: XNEWVEC enough space for 'saved_suffix' using

2014-08-09 Thread Chen Gang

Excuse me, when I try the testsuite for a new patch which I will send,
I realize I should make sure some related information. So I consult for
them, please help check, thanks.


On 8/1/14 6:36, Jeff Law wrote:
> 
> make
> make check

It is OK (I finish the 2 steps under Mac book).

> 

Excuse me, I can not find it with `find ./ | grep "\.sum$"`

[...]
> 

After comparing, should the related ".sum" files be the same (same means
pass checking)?


Thanks.
-- 
Chen Gang

Open, share, and attitude like air, water, and life which God blessed


Re: [PATCH] gcc/gcc.c: XNEWVEC enough space for 'saved_suffix' using

2014-07-31 Thread Chen Gang


On 08/01/2014 10:14 AM, Mike Stump wrote:
> On Jul 31, 2014, at 6:37 PM, Chen Gang  wrote:
>> Thank you very much for your work. Especially give a complete sample for
>> the whole working flow, which I shall follow.
>>
>> For me, if no related documents for it, I recommend to put a complete
>> sample (e.g. this one) to a related document which can be referenced by
>> other newbies.
> 
> https://gcc.gnu.org/contribute.html
> 

Thank you for your information, I shall read it in details, next.


Thanks.
-- 
Chen Gang

Open, share, and attitude like air, water, and life which God blessed


Re: [PATCH] gcc/gcc.c: XNEWVEC enough space for 'saved_suffix' using

2014-07-31 Thread Mike Stump
On Jul 31, 2014, at 6:37 PM, Chen Gang  wrote:
> Thank you very much for your work. Especially give a complete sample for
> the whole working flow, which I shall follow.
> 
> For me, if no related documents for it, I recommend to put a complete
> sample (e.g. this one) to a related document which can be referenced by
> other newbies.

https://gcc.gnu.org/contribute.html


Re: [PATCH] gcc/gcc.c: XNEWVEC enough space for 'saved_suffix' using

2014-07-31 Thread Chen Gang
Thank you very much for your work. Especially give a complete sample for
the whole working flow, which I shall follow.

For me, if no related documents for it, I recommend to put a complete
sample (e.g. this one) to a related document which can be referenced by
other newbies.

By the way, with your aid, my original plan "a patch per month" is
succeed, or it must be fail for 2014-07, thanks.

On 08/01/2014 06:36 AM, Jeff Law wrote:
> On 07/24/14 09:31, Chen Gang wrote:
>> strlen() will get string length excluding '\0', but strcpy() will append
>> '\0' in the end, so need XNEWVEC additional byte, or cause memory over
>> flow.
>>
>> Signed-off-by: Chen Gang 
>> ---
>>   gcc/gcc.c | 2 +-
>>   1 file changed, 1 insertion(+), 1 deletion(-)
>>
>> diff --git a/gcc/gcc.c b/gcc/gcc.c
>> index 6cd08ea..8ea46ec 100644
>> --- a/gcc/gcc.c
>> +++ b/gcc/gcc.c
>> @@ -4895,7 +4895,7 @@ do_spec_1 (const char *spec, int inswitch, const
>> char *soft_matched_part)
>> {
>>   saved_suffix
>> = XNEWVEC (char, suffix_length
>> - + strlen (TARGET_OBJECT_SUFFIX));
>> + + strlen (TARGET_OBJECT_SUFFIX) + 1);
>>   strncpy (saved_suffix, suffix, suffix_length);
>>   strcpy (saved_suffix + suffix_length,
>>   TARGET_OBJECT_SUFFIX);
> Thanks.  I've installed this on the trunk after bootstrapping and
> regression testing on x86_64-unknown-linux-gnu
> 

Thank you for your work.

> In the future, please do a bootstrap & regression test when submitting
> patches and indicate which platform you did the testing on.
> 
> In essence the process looks like
> 
> make
> make check
> 
> 
> make clean
> make
> make check
> 
> 

Thanks, I shall follow, next.

> 
> It seems tedious for simple patches, but the requirements for
> bootstrapping and regression testing keep the tip of the trunk from
> getting broken too often (which is very costly for everyone when it
> occurs).
> 

That sounds reasonable to me.

> You also need to provide a ChangeLog entry.  The details of what belongs
> in a ChangeLog are on the web site.  Here's an example for your patch:
> 
> 2014-07-31  Chen Gang  
> 
> * gcc.c (do_spec_1): Allocate enough space for saved_suffix.
> 

Thanks, I shall follow, next.


Thanks.
-- 
Chen Gang

Open, share, and attitude like air, water, and life which God blessed


Re: [PATCH] gcc/gcc.c: XNEWVEC enough space for 'saved_suffix' using

2014-07-31 Thread Jeff Law

On 07/24/14 09:31, Chen Gang wrote:

strlen() will get string length excluding '\0', but strcpy() will append
'\0' in the end, so need XNEWVEC additional byte, or cause memory over
flow.

Signed-off-by: Chen Gang 
---
  gcc/gcc.c | 2 +-
  1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/gcc/gcc.c b/gcc/gcc.c
index 6cd08ea..8ea46ec 100644
--- a/gcc/gcc.c
+++ b/gcc/gcc.c
@@ -4895,7 +4895,7 @@ do_spec_1 (const char *spec, int inswitch, const char 
*soft_matched_part)
  {
saved_suffix
  = XNEWVEC (char, suffix_length
-+ strlen (TARGET_OBJECT_SUFFIX));
++ strlen (TARGET_OBJECT_SUFFIX) + 1);
strncpy (saved_suffix, suffix, suffix_length);
strcpy (saved_suffix + suffix_length,
TARGET_OBJECT_SUFFIX);
Thanks.  I've installed this on the trunk after bootstrapping and 
regression testing on x86_64-unknown-linux-gnu


In the future, please do a bootstrap & regression test when submitting 
patches and indicate which platform you did the testing on.


In essence the process looks like

make
make check


make clean
make
make check



It seems tedious for simple patches, but the requirements for 
bootstrapping and regression testing keep the tip of the trunk from 
getting broken too often (which is very costly for everyone when it occurs).


You also need to provide a ChangeLog entry.  The details of what belongs 
in a ChangeLog are on the web site.  Here's an example for your patch:


2014-07-31  Chen Gang  

* gcc.c (do_spec_1): Allocate enough space for saved_suffix.

Thanks,
Jeff


Re: [PATCH] gcc/gcc.c: XNEWVEC enough space for 'saved_suffix' using

2014-07-30 Thread Chen Gang
On 07/31/2014 11:09 AM, Jeff Law wrote:
> On 07/30/14 16:29, Joseph S. Myers wrote:
>> On Thu, 31 Jul 2014, Chen Gang wrote:
>>
>>> On 07/31/2014 06:12 AM, Joseph S. Myers wrote:
 On Thu, 24 Jul 2014, Chen Gang wrote:

> strlen() will get string length excluding '\0', but strcpy() will
> append
> '\0' in the end, so need XNEWVEC additional byte, or cause memory over
> flow.

 OK assuming it passed regression testing (with ChangeLog entry as
 usual,
 and you need to say what platform the patch was bootstrapped /
 regression
 tested on).

>>>
>>> Excuse me, I only find it by reading source code, not give a test (for
>>> me, this kind of patch welcomes the related test, but not mandatory).
>>
>> I don't believe this particular patch needs a new regression test
>> added to
>> the testsuite.
>>
>> But you still need to meet all the usual patch requirements - run the GCC
>> testsuite before and after the patch, and verify that it does not
>> introduce any new failures, and say what platform you did that testing
>> on.
>> Even "obvious" patches can have non-obvious typos, hence the need to run
>> the testsuite as a sanity check.
> I was going to take care of this for Chen, but keep getting pulled into
> other things.

OK, thank all of you for spending your time resources on it.

This kind of patch is non-urgent, so can only check it when related
members have time, and I shall have a little patient (at least, can wait
2 weeks or more).

Again next, I shall try to finish testsuite within this week end
(2014-08-03).

Thanks.
-- 
Chen Gang

Open, share, and attitude like air, water, and life which God blessed


Re: [PATCH] gcc/gcc.c: XNEWVEC enough space for 'saved_suffix' using

2014-07-30 Thread Jeff Law

On 07/30/14 16:29, Joseph S. Myers wrote:

On Thu, 31 Jul 2014, Chen Gang wrote:


On 07/31/2014 06:12 AM, Joseph S. Myers wrote:

On Thu, 24 Jul 2014, Chen Gang wrote:


strlen() will get string length excluding '\0', but strcpy() will append
'\0' in the end, so need XNEWVEC additional byte, or cause memory over
flow.


OK assuming it passed regression testing (with ChangeLog entry as usual,
and you need to say what platform the patch was bootstrapped / regression
tested on).



Excuse me, I only find it by reading source code, not give a test (for
me, this kind of patch welcomes the related test, but not mandatory).


I don't believe this particular patch needs a new regression test added to
the testsuite.

But you still need to meet all the usual patch requirements - run the GCC
testsuite before and after the patch, and verify that it does not
introduce any new failures, and say what platform you did that testing on.
Even "obvious" patches can have non-obvious typos, hence the need to run
the testsuite as a sanity check.
I was going to take care of this for Chen, but keep getting pulled into 
other things.


Jeff


Re: [PATCH] gcc/gcc.c: XNEWVEC enough space for 'saved_suffix' using

2014-07-30 Thread Chen Gang


On 07/31/2014 06:29 AM, Joseph S. Myers wrote:
> On Thu, 31 Jul 2014, Chen Gang wrote:
> 
>> On 07/31/2014 06:12 AM, Joseph S. Myers wrote:
>>> On Thu, 24 Jul 2014, Chen Gang wrote:
>>>
 strlen() will get string length excluding '\0', but strcpy() will append
 '\0' in the end, so need XNEWVEC additional byte, or cause memory over
 flow.
>>>
>>> OK assuming it passed regression testing (with ChangeLog entry as usual, 
>>> and you need to say what platform the patch was bootstrapped / regression 
>>> tested on).
>>>
>>
>> Excuse me, I only find it by reading source code, not give a test (for
>> me, this kind of patch welcomes the related test, but not mandatory).
> 
> I don't believe this particular patch needs a new regression test added to 
> the testsuite.
> 
> But you still need to meet all the usual patch requirements - run the GCC 
> testsuite before and after the patch, and verify that it does not 
> introduce any new failures, and say what platform you did that testing on.  
> Even "obvious" patches can have non-obvious typos, hence the need to run 
> the testsuite as a sanity check.
> 
> (For some sorts of patches it's different - e.g. for a patch to the 
> manual, "make info html pdf" is useful testing, but a testsuite run 
> isn't.)
> 

Thank you for your valuable information. And I shall try. For me, this
kind of tests are necessary for all kinds of patches (include this kind
of patch).

But excuse me, I am a newbie, I am not quit familiar with testsuite, so
maybe I can not finish soon. But I should finish the related test with
testsuite within this week end (within 2014-08-03).

And still welcome any related ideas, suggestions, and completions.

Thanks.

Thanks.
-- 
Chen Gang

Open, share, and attitude like air, water, and life which God blessed


Re: [PATCH] gcc/gcc.c: XNEWVEC enough space for 'saved_suffix' using

2014-07-30 Thread Joseph S. Myers
On Thu, 31 Jul 2014, Chen Gang wrote:

> On 07/31/2014 06:12 AM, Joseph S. Myers wrote:
> > On Thu, 24 Jul 2014, Chen Gang wrote:
> > 
> >> strlen() will get string length excluding '\0', but strcpy() will append
> >> '\0' in the end, so need XNEWVEC additional byte, or cause memory over
> >> flow.
> > 
> > OK assuming it passed regression testing (with ChangeLog entry as usual, 
> > and you need to say what platform the patch was bootstrapped / regression 
> > tested on).
> > 
> 
> Excuse me, I only find it by reading source code, not give a test (for
> me, this kind of patch welcomes the related test, but not mandatory).

I don't believe this particular patch needs a new regression test added to 
the testsuite.

But you still need to meet all the usual patch requirements - run the GCC 
testsuite before and after the patch, and verify that it does not 
introduce any new failures, and say what platform you did that testing on.  
Even "obvious" patches can have non-obvious typos, hence the need to run 
the testsuite as a sanity check.

(For some sorts of patches it's different - e.g. for a patch to the 
manual, "make info html pdf" is useful testing, but a testsuite run 
isn't.)

-- 
Joseph S. Myers
jos...@codesourcery.com


Re: [PATCH] gcc/gcc.c: XNEWVEC enough space for 'saved_suffix' using

2014-07-30 Thread Chen Gang
On 07/31/2014 06:12 AM, Joseph S. Myers wrote:
> On Thu, 24 Jul 2014, Chen Gang wrote:
> 
>> strlen() will get string length excluding '\0', but strcpy() will append
>> '\0' in the end, so need XNEWVEC additional byte, or cause memory over
>> flow.
> 
> OK assuming it passed regression testing (with ChangeLog entry as usual, 
> and you need to say what platform the patch was bootstrapped / regression 
> tested on).
> 

Excuse me, I only find it by reading source code, not give a test (for
me, this kind of patch welcomes the related test, but not mandatory).

But, if you still feel it is necessary to have a related test, I shall
try.


Thanks.
-- 
Chen Gang

Open share and attitude like air water and life which God blessed


Re: [PATCH] gcc/gcc.c: XNEWVEC enough space for 'saved_suffix' using

2014-07-30 Thread Joseph S. Myers
On Thu, 24 Jul 2014, Chen Gang wrote:

> strlen() will get string length excluding '\0', but strcpy() will append
> '\0' in the end, so need XNEWVEC additional byte, or cause memory over
> flow.

OK assuming it passed regression testing (with ChangeLog entry as usual, 
and you need to say what platform the patch was bootstrapped / regression 
tested on).

-- 
Joseph S. Myers
jos...@codesourcery.com