[Bug target/51934] FAIL: g++.dg/torture/pr51344.C -O0 (test for excess errors) due to cdecl attribute ignored warning

2012-03-06 Thread jakub at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=51934

--- Comment #24 from Jakub Jelinek jakub at gcc dot gnu.org 2012-03-06 
08:26:03 UTC ---
Author: jakub
Date: Tue Mar  6 08:25:51 2012
New Revision: 184976

URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=184976
Log:
Backported from 4.6 branch
2012-01-25  Jason Merrill  ja...@redhat.com

PR target/51934
* g++.dg/torture/pr51344.C: Limit to x86.

Modified:
branches/gcc-4_5-branch/gcc/testsuite/ChangeLog
branches/gcc-4_5-branch/gcc/testsuite/g++.dg/torture/pr51344.C


[Bug target/51934] FAIL: g++.dg/torture/pr51344.C -O0 (test for excess errors) due to cdecl attribute ignored warning

2012-03-06 Thread jakub at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=51934

--- Comment #25 from Jakub Jelinek jakub at gcc dot gnu.org 2012-03-06 
08:26:32 UTC ---
Author: jakub
Date: Tue Mar  6 08:26:22 2012
New Revision: 184977

URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=184977
Log:
Backported from 4.6 branch
2012-01-25  Jason Merrill  ja...@redhat.com

PR target/51934
* g++.dg/torture/pr51344.C: Limit to x86.

Modified:
branches/gcc-4_4-branch/gcc/testsuite/ChangeLog
branches/gcc-4_4-branch/gcc/testsuite/g++.dg/torture/pr51344.C


[Bug target/51934] FAIL: g++.dg/torture/pr51344.C -O0 (test for excess errors) due to cdecl attribute ignored warning

2012-01-25 Thread danglin at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=51934

John David Anglin danglin at gcc dot gnu.org changed:

   What|Removed |Added

 Status|RESOLVED|REOPENED
 Resolution|FIXED   |

--- Comment #21 from John David Anglin danglin at gcc dot gnu.org 2012-01-25 
14:57:39 UTC ---
Patch also needs to be applied to 4.6 branch.


[Bug target/51934] FAIL: g++.dg/torture/pr51344.C -O0 (test for excess errors) due to cdecl attribute ignored warning

2012-01-25 Thread jason at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=51934

--- Comment #22 from Jason Merrill jason at gcc dot gnu.org 2012-01-25 
16:33:56 UTC ---
Author: jason
Date: Wed Jan 25 16:33:50 2012
New Revision: 183526

URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=183526
Log:
PR target/51934
* g++.dg/torture/pr51344.C: Limit to x86.

Modified:
branches/gcc-4_6-branch/gcc/testsuite/ChangeLog
branches/gcc-4_6-branch/gcc/testsuite/g++.dg/torture/pr51344.C


[Bug target/51934] FAIL: g++.dg/torture/pr51344.C -O0 (test for excess errors) due to cdecl attribute ignored warning

2012-01-25 Thread danglin at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=51934

John David Anglin danglin at gcc dot gnu.org changed:

   What|Removed |Added

 Status|REOPENED|RESOLVED
 Resolution||FIXED

--- Comment #23 from John David Anglin danglin at gcc dot gnu.org 2012-01-25 
19:08:41 UTC ---
Resolved.


[Bug target/51934] FAIL: g++.dg/torture/pr51344.C -O0 (test for excess errors) due to cdecl attribute ignored warning

2012-01-23 Thread dominiq at lps dot ens.fr
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=51934

Dominique d'Humieres dominiq at lps dot ens.fr changed:

   What|Removed |Added

 Target|powerpc*-*-*|powerpc*-*-* arm-none-eabi
Summary|FAIL:   |FAIL:
   |g++.dg/torture/pr51344.C|g++.dg/torture/pr51344.C
   |-O0  (test for excess   |-O0  (test for excess
   |errors) on powerpc*-*-* |errors)  due to cdecl
   ||attribute ignored warning

--- Comment #10 from Dominique d'Humieres dominiq at lps dot ens.fr 
2012-01-23 12:40:36 UTC ---
Changed the summary.


[Bug target/51934] FAIL: g++.dg/torture/pr51344.C -O0 (test for excess errors) due to cdecl attribute ignored warning

2012-01-23 Thread jason at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=51934

--- Comment #11 from Jason Merrill jason at gcc dot gnu.org 2012-01-23 
14:43:30 UTC ---
Author: jason
Date: Mon Jan 23 14:43:25 2012
New Revision: 183434

URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=183434
Log:
PR target/51934
* g++.dg/torture/pr51344.C: Use noreturn instead of cdecl.

Modified:
trunk/gcc/testsuite/ChangeLog
trunk/gcc/testsuite/g++.dg/torture/pr51344.C


[Bug target/51934] FAIL: g++.dg/torture/pr51344.C -O0 (test for excess errors) due to cdecl attribute ignored warning

2012-01-23 Thread jason at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=51934

Jason Merrill jason at gcc dot gnu.org changed:

   What|Removed |Added

 Status|NEW |RESOLVED
 CC||jason at gcc dot gnu.org
 Resolution||FIXED

--- Comment #12 from Jason Merrill jason at gcc dot gnu.org 2012-01-23 
14:50:00 UTC ---
Should be fixed now.


[Bug target/51934] FAIL: g++.dg/torture/pr51344.C -O0 (test for excess errors) due to cdecl attribute ignored warning

2012-01-23 Thread dominiq at lps dot ens.fr
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=51934

--- Comment #13 from Dominique d'Humieres dominiq at lps dot ens.fr 
2012-01-23 14:55:08 UTC ---
 Log:
 PR target/51934
 * g++.dg/torture/pr51344.C: Use noreturn instead of cdecl.

 Should be fixed now.

The use of 'noreturn' yields a warning with g++ 4.6.2 and not an infinite loop:

[macbook] f90/bug% time g++-fsf-4.6 -c pr51344_db.C
pr51344_db.C: In function 'A operator(A, BT)':
pr51344_db.C:9:12: warning: function declared 'noreturn' has a 'return'
statement [enabled by default]
0.012u 0.024s 0:00.93 3.2%0+0k 3+13io 0pf+0w

so IMO the test is no longer testing what has been fixed (see comment #8 for a
list of what I have tried).


[Bug target/51934] FAIL: g++.dg/torture/pr51344.C -O0 (test for excess errors) due to cdecl attribute ignored warning

2012-01-23 Thread jakub at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=51934

--- Comment #14 from Jakub Jelinek jakub at gcc dot gnu.org 2012-01-23 
15:10:42 UTC ---
Well, if it hangs before the fix with the noreturn attribute, then it is
trivial to replace the return a; with for (;;);


[Bug target/51934] FAIL: g++.dg/torture/pr51344.C -O0 (test for excess errors) due to cdecl attribute ignored warning

2012-01-23 Thread dominiq at lps dot ens.fr
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=51934

--- Comment #15 from Dominique d'Humieres dominiq at lps dot ens.fr 
2012-01-23 15:19:37 UTC ---
 Well, if it hangs before the fix with the noreturn attribute, then it is
 trivial to replace the return a; with for (;;);

It does not hang:

macbook] f90/bug% cat pr51344_db.C
/* { dg-do compile } */
class A;

template class T
class B
{
  friend __attribute__((noreturn)) A operator (A a, B b)
  {
for (;;);
/* return a; */
  }
};
[macbook] f90/bug% time g++-fsf-4.6 -c pr51344_db.C
0.010u 0.015s 0:00.05 40.0%0+0k 0+4io 0pf+0w

while

[macbook] f90/bug% cat pr51344_db.C
/* { dg-do compile } */
class A;

template class T
class B
{
  friend __attribute__((format)) A operator (A a, B b)
  {
for (;;);
/* return a; */
  }
};
macbook] f90/bug% time g++-fsf-4.6 -c pr51344_db.C
^C0.002u 0.005s 0:37.44 0.0%0+0k 0+1io 0pf+0w

^
| interrupted


[Bug target/51934] FAIL: g++.dg/torture/pr51344.C -O0 (test for excess errors) due to cdecl attribute ignored warning

2012-01-23 Thread jason at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=51934

--- Comment #16 from Jason Merrill jason at gcc dot gnu.org 2012-01-23 
15:30:58 UTC ---
Author: jason
Date: Mon Jan 23 15:30:48 2012
New Revision: 183436

URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=183436
Log:
PR target/51934
* g++.dg/torture/pr51344.C: Limit to x86.

Modified:
trunk/gcc/testsuite/ChangeLog
trunk/gcc/testsuite/g++.dg/torture/pr51344.C


[Bug target/51934] FAIL: g++.dg/torture/pr51344.C -O0 (test for excess errors) due to cdecl attribute ignored warning

2012-01-23 Thread dominiq at lps dot ens.fr
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=51934

--- Comment #17 from Dominique d'Humieres dominiq at lps dot ens.fr 
2012-01-23 15:50:16 UTC ---
 g++.dg/torture/pr51344.C: Limit to x86.

Note that using 'format' instead of 'cdecl' hangs also on
powerpc-apple-darwin9:

[karma] f90/bug% time g++-fsf-4.6 pr51344_db.C
^C0.002u 0.006s 1:35.05 0.0%0+0k 2+7io 46pf+0w
 ^
 | interrupted
[karma] f90/bug% time /opt/gcc/gcc4.7w/bin/g++ -c pr51344_db.C
0.036u 0.071s 0:01.50 6.6%0+0k 16+10io 792pf+0w
[karma] f90/bug% /opt/gcc/gcc4.7w/bin/g++ -v
Using built-in specs.
COLLECT_GCC=/opt/gcc/gcc4.7w/bin/g++
COLLECT_LTO_WRAPPER=/opt/gcc/gcc4.7w/libexec/gcc/powerpc-apple-darwin9.8.0/4.7.0/lto-wrapper
Target: powerpc-apple-darwin9.8.0
Configured with: ../work/configure --prefix=/opt/gcc/gcc4.7w
--enable-languages=c,c++,fortran,objc,obj-c++,java,ada,lto --with-gmp=/opt/mp
--with-system-zlib --with-cloog=/opt/mp --enable-lto --enable-cloog-backend=isl
Thread model: posix
gcc version 4.7.0 20120121 (experimental) [trunk revision 183381p3] (GCC) 

If 'format' is invalid in this context, g++ should probably emit an error
instead of hanging.


[Bug target/51934] FAIL: g++.dg/torture/pr51344.C -O0 (test for excess errors) due to cdecl attribute ignored warning

2012-01-23 Thread jakub at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=51934

--- Comment #18 from Jakub Jelinek jakub at gcc dot gnu.org 2012-01-23 
15:58:01 UTC ---
I bet you'd have to instantiate the template to see the errors.
Nevertheless, it would be a bad idea to add __attribute__((format)) to the
testcase and expect that we don't error on that, perhaps one day we'd error on
it even when not instantiated.


[Bug target/51934] FAIL: g++.dg/torture/pr51344.C -O0 (test for excess errors) due to cdecl attribute ignored warning

2012-01-23 Thread dominiq at lps dot ens.fr
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=51934

--- Comment #19 from Dominique d'Humieres dominiq at lps dot ens.fr 
2012-01-23 22:05:44 UTC ---
 g++.dg/torture/pr51344.C: Limit to x86.

 -/* { dg-do compile } */
 +/* { dg-do compile { target { i?86-*-*  ilp32 } } } */

Any reason to limit the test to i?86 and 32 bit mode? Why not on x86_64 and 64
bit mode?
Is it related to the failures seen at
http://gcc.gnu.org/ml/gcc-testresults/2012-01/msg02281.html for instance?

The test passes for both -m32 and -m64 on x86_64-apple-darwin10 with

/* { dg-do compile { target { i?86-*-* x86_64-*-* } } } */


[Bug target/51934] FAIL: g++.dg/torture/pr51344.C -O0 (test for excess errors) due to cdecl attribute ignored warning

2012-01-23 Thread jason at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=51934

--- Comment #20 from Jason Merrill jason at gcc dot gnu.org 2012-01-24 
02:45:28 UTC ---
cdecl only applies to the 32-bit ABI.  ix86_handle_cconv_attribute normally
warns about using it in 64-bit mode, I wonder why it doesn't on darwin?