http://gcc.gnu.org/bugzilla/show_bug.cgi?id=48087
--- Comment #10 from Manuel López-Ibáñez <manu at gcc dot gnu.org> 2011-10-18 20:22:52 UTC --- The gimple generated with -Wreturn-type and with -Werror=return-type is even different. At least at revision 164549. *** pr48087.cc.004t.gimple-Wreturn-type 2011-10-18 22:17:16.000000000 +0200 --- pr48087.cc.004t.gimple-Werror-return-type 2011-10-18 22:17:56.000000000 +0200 *************** *** 91,127 **** [/home/manuel/pr48087.cc : 28:28] # USE = anything # CLB = anything _ZN4BetaC1EvD.2093 ([/home/manuel/pr48087.cc : 28] &D.2139); ! [/home/manuel/pr48087.cc : 28:28] try ! { ! [/home/manuel/pr48087.cc : 28:28] # USE = anything ! # CLB = anything ! b2D.2138 = _ZN4Beta5valueEvD.2091 ([/home/manuel/pr48087.cc : 28] &D.2139); ! } ! finally ! { ! [/home/manuel/pr48087.cc : 28:20] # USE = anything ! # CLB = anything ! __comp_dtor D.2097 ([/home/manuel/pr48087.cc : 28] &D.2139); ! } [/home/manuel/pr48087.cc : 29:24] # USE = anything # CLB = anything _ZN4BetaC1EvD.2093 ([/home/manuel/pr48087.cc : 29] &D.2140); ! [/home/manuel/pr48087.cc : 29:26] try ! { ! [/home/manuel/pr48087.cc : 29:24] # USE = anything ! # CLB = anything ! D.2168 = _ZN4Beta5valueEvD.2091 ([/home/manuel/pr48087.cc : 29] &D.2140); ! [/home/manuel/pr48087.cc : 29:25] D.2169 = (intD.2) D.2168; ! [/home/manuel/pr48087.cc : 29:26] # USE = anything ! # CLB = anything ! _Z5GammabD.2109 (D.2169); ! } ! finally ! { ! [/home/manuel/pr48087.cc : 29:16] # USE = anything ! # CLB = anything ! __comp_dtor D.2097 ([/home/manuel/pr48087.cc : 29] &D.2140); ! } } } } --- 91,109 ---- [/home/manuel/pr48087.cc : 28:28] # USE = anything # CLB = anything _ZN4BetaC1EvD.2093 ([/home/manuel/pr48087.cc : 28] &D.2139); ! [/home/manuel/pr48087.cc : 28:28] # USE = anything ! # CLB = anything ! b2D.2138 = _ZN4Beta5valueEvD.2091 ([/home/manuel/pr48087.cc : 28] &D.2139); [/home/manuel/pr48087.cc : 29:24] # USE = anything # CLB = anything _ZN4BetaC1EvD.2093 ([/home/manuel/pr48087.cc : 29] &D.2140); ! [/home/manuel/pr48087.cc : 29:24] # USE = anything ! # CLB = anything ! D.2168 = _ZN4Beta5valueEvD.2091 ([/home/manuel/pr48087.cc : 29] &D.2140); ! [/home/manuel/pr48087.cc : 29:25] D.2169 = (intD.2) D.2168; ! [/home/manuel/pr48087.cc : 29:26] # USE = anything ! # CLB = anything ! _Z5GammabD.2109 (D.2169); } } } *************** *** 130,136 **** bool DeltaOne(bool) (boolD.2002 bD.2111) [/home/manuel/pr48087.cc : 21:12] { struct BetaD.2084 D.2134; ! intD.2 D.2173; struct AlphaD.2063 sD.2114; boolD.2002 b2D.2124; --- 112,118 ---- bool DeltaOne(bool) (boolD.2002 bD.2111) [/home/manuel/pr48087.cc : 21:12] { struct BetaD.2084 D.2134; ! intD.2 D.2171; struct AlphaD.2063 sD.2114; boolD.2002 b2D.2124; *************** *** 142,163 **** [/home/manuel/pr48087.cc : 20:26] # USE = anything # CLB = anything _ZN4BetaC1EvD.2093 ([/home/manuel/pr48087.cc : 20] &D.2134); ! [/home/manuel/pr48087.cc : 20:26] try ! { ! [/home/manuel/pr48087.cc : 20:26] # USE = anything ! # CLB = anything ! b2D.2124 = _ZN4Beta5valueEvD.2091 ([/home/manuel/pr48087.cc : 20] &D.2134); ! } ! finally ! { ! [/home/manuel/pr48087.cc : 20:18] # USE = anything ! # CLB = anything ! __comp_dtor D.2097 ([/home/manuel/pr48087.cc : 20] &D.2134); ! } ! [/home/manuel/pr48087.cc : 21:11] D.2173 = (intD.2) b2D.2124; [/home/manuel/pr48087.cc : 21:12] # USE = anything # CLB = anything ! _Z5GammabD.2109 (D.2173); } finally { --- 124,136 ---- [/home/manuel/pr48087.cc : 20:26] # USE = anything # CLB = anything _ZN4BetaC1EvD.2093 ([/home/manuel/pr48087.cc : 20] &D.2134); ! [/home/manuel/pr48087.cc : 20:26] # USE = anything ! # CLB = anything ! b2D.2124 = _ZN4Beta5valueEvD.2091 ([/home/manuel/pr48087.cc : 20] &D.2134); ! [/home/manuel/pr48087.cc : 21:11] D.2171 = (intD.2) b2D.2124; [/home/manuel/pr48087.cc : 21:12] # USE = anything # CLB = anything ! _Z5GammabD.2109 (D.2171); } finally {