I just tried to compile the following C++ source code with the GNU C++ compiler version 4.4 snapshot 20081205.
# include <stdio.h> void f1( float) { printf( "Ok\n"); } void f1( double) { printf( "Broken\n"); } int main() { f1( 1 ? 2 : 3.0F); return 0; } At run time $ ./a.out Broken but for gcc 4.3.1 $ ./a.out Ok I think the snapshot compiler is generating bad code. -- Summary: bad generated code for new snapshot Product: gcc Version: 4.4.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: c++ AssignedTo: unassigned at gcc dot gnu dot org ReportedBy: dcb314 at hotmail dot com GCC host triplet: suse-linux-x86_64 http://gcc.gnu.org/bugzilla/show_bug.cgi?id=38472