1 // { dg-do run  }
2 // GROUPS passed code-generation
3 // Check that type float parameters can be correctly passed to
4 // methods.
5 
6 extern "C" int printf (const char *, ...);
7 
8 class tres_floats {
9 	float ff1;
10 	float ff2;
11 	float ff3;
12 public:
13 	tres_floats (float f1, float f2, float f3);
14 	float get_f1 ();
15 	float get_f2 ();
16 	float get_f3 ();
17 };
18 
19 float v1 = 1.2345;
20 float v2 = 3.14159;
21 float v3 = 0.707;
22 
main()23 int main ()
24 {
25 	tres_floats tf (v1, v2, v3);
26 
27 	if ((tf.get_f1() != v1) || (tf.get_f2() != v2) || (tf.get_f3() != v3))
28 	  { printf ("FAIL\n"); return 1; }
29 	else
30 	  printf ("PASS\n");
31 
32 	return 0;
33 }
34 
tres_floats(float f1,float f2,float f3)35 tres_floats::tres_floats (float f1, float f2, float f3)
36 {
37 	ff1 = f1;
38 	ff2 = f2;
39 	ff3 = f3;
40 }
41 
get_f1()42 float tres_floats::get_f1 ()
43 {
44 	return ff1;
45 }
46 
get_f2()47 float tres_floats::get_f2 ()
48 {
49 	return ff2;
50 }
51 
get_f3()52 float tres_floats::get_f3 ()
53 {
54 	return ff3;
55 }
56