[Bug target/51934] FAIL: g++.dg/torture/pr51344.C -O0 (test for excess errors) due to cdecl attribute ignored warning
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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?