After this patch: http://gcc.gnu.org/ml/gcc-patches/2006-04/msg00057.html
C++ dynamic cast code on x86-64 changes to call __dynamic_cast testb %al, %al and stops working for some cases. The previous working version on x86-64 is call __dynamic_cast testq %rax, %rax -- Summary: C++ dynamic cast is incorrect Product: gcc Version: 4.2.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: middle-end AssignedTo: unassigned at gcc dot gnu dot org ReportedBy: hjl at lucon dot org http://gcc.gnu.org/bugzilla/show_bug.cgi?id=27694