http://gcc.gnu.org/bugzilla/show_bug.cgi?id=51934
--- Comment #6 from Dominique d'Humieres <dominiq at lps dot ens.fr> 2012-01-21 23:15:31 UTC --- > The test just should use some attribute that is common to all targets, like > __attribute__((noinline)) or similar, unless it didn't fail with that > attribute > before the fix. If it didn't, then the test needs to be limited to targets > that support it. The attribute format seems to do the trick: it hangs on 4.6.2 and compiles with recent trunk. --- ../_clean/gcc/testsuite/g++.dg/torture/pr51344.C 2012-01-20 11:40:19.000000000 +0100 +++ gcc/testsuite/g++.dg/torture/pr51344.C 2012-01-22 00:13:16.000000000 +0100 @@ -4,7 +4,7 @@ class A; template <class T> class B { - friend __attribute__((cdecl)) A& operator >>(A& a, B& b) + friend __attribute__((format)) A& operator >>(A& a, B& b) { return a; }