// { dg-do assemble } // { dg-options "-Wconversion" } // Copyright (C) 2000 Free Software Foundation, Inc. // Contributed by Nathan Sidwell 24 Feb 2000 // derived from a bug report by Johan Kuipers // initialization to 'int' from to 'double' We expect consistent warnings // whenever a float is implicitly truncated to int struct X { X (int); X (int, int); }; void foo (int); void wibble (int); void wibble (int, int); void punk (int = 3.5); // { dg-warning "" } double to int void rock (); void rock (int, int = 3.5); // { dg-warning "" } double to int void fn () { X x1(3.5); // { dg-warning "" } double to int X x2(3.5f); // { dg-warning "" } float to int X x3(1, 3.5); // { dg-warning "" } double to int X x4(1, 3.5f); // { dg-warning "" } float to int X x5(3.5, 1); // { dg-warning "" } double to int X x6(3.5f, 1); // { dg-warning "" } float to int X y1 = 3.5; // { dg-warning "" } double to int X y2 = 3.5f; // { dg-warning "" } float to int int j1 (3.5); // { dg-warning "" } double to int int j2 (3.5f); // { dg-warning "" } float to int int k1 = 3.5; // { dg-warning "" } double to int int k2 = 3.5f; // { dg-warning "" } float to int j1 = 3.5; // { dg-warning "" } double to int j2 = 3.5f; // { dg-warning "" } float to int foo (3.5); // { dg-warning "" } double to int foo (3.5f); // { dg-warning "" } float to int wibble (3.5); // { dg-warning "" } double to int wibble (3.5f); // { dg-warning "" } float to int wibble (1, 3.5); // { dg-warning "" } double to int wibble (1, 3.5f); // { dg-warning "" } float to int wibble (3.5, 1); // { dg-warning "" } double to int wibble (3.5f, 1); // { dg-warning "" } float to int punk (); // { dg-warning "" } double to int rock (1); // { dg-warning "" } double to int }