| // { dg-do run } |
| // GROUPS passed code-generation |
| // Check that type float parameters can be correctly passed to |
| // methods. |
| |
| extern "C" int printf (const char *, ...); |
| |
| class tres_floats { |
| float ff1; |
| float ff2; |
| float ff3; |
| public: |
| tres_floats (float f1, float f2, float f3); |
| float get_f1 (); |
| float get_f2 (); |
| float get_f3 (); |
| }; |
| |
| float v1 = 1.2345; |
| float v2 = 3.14159; |
| float v3 = 0.707; |
| |
| int main () |
| { |
| tres_floats tf (v1, v2, v3); |
| |
| if ((tf.get_f1() != v1) || (tf.get_f2() != v2) || (tf.get_f3() != v3)) |
| { printf ("FAIL\n"); return 1; } |
| else |
| printf ("PASS\n"); |
| |
| return 0; |
| } |
| |
| tres_floats::tres_floats (float f1, float f2, float f3) |
| { |
| ff1 = f1; |
| ff2 = f2; |
| ff3 = f3; |
| } |
| |
| float tres_floats::get_f1 () |
| { |
| return ff1; |
| } |
| |
| float tres_floats::get_f2 () |
| { |
| return ff2; |
| } |
| |
| float tres_floats::get_f3 () |
| { |
| return ff3; |
| } |