Commit dac2fc29 by H.J. Lu Committed by H.J. Lu

Define check_union_passing6 only for CHECK_FLOAT128

	* gcc.target/i386/iamcu/test_passing_unions.c (check_union_passing6):
	Define only if CHECK_FLOAT128 is defined.
	(main): Properly initialize u5.

From-SVN: r233124
parent 5a01e0c7
2016-02-03 H.J. Lu <hongjiu.lu@intel.com>
* gcc.target/i386/iamcu/test_passing_unions.c (check_union_passing6):
Define only if CHECK_FLOAT128 is defined.
(main): Properly initialize u5.
2016-02-03 Jakub Jelinek <jakub@redhat.com> 2016-02-03 Jakub Jelinek <jakub@redhat.com>
PR c/69627 PR c/69627
......
...@@ -94,6 +94,7 @@ check_union_passing5(union un5 u ATTRIBUTE_UNUSED) ...@@ -94,6 +94,7 @@ check_union_passing5(union un5 u ATTRIBUTE_UNUSED)
#define check_union_passing4 WRAP_CALL(check_union_passing4) #define check_union_passing4 WRAP_CALL(check_union_passing4)
#define check_union_passing5 WRAP_CALL(check_union_passing5) #define check_union_passing5 WRAP_CALL(check_union_passing5)
#ifdef CHECK_FLOAT128
union un6 union un6
{ {
__float128 f128; __float128 f128;
...@@ -111,6 +112,7 @@ check_union_passing6(union un6 u ATTRIBUTE_UNUSED) ...@@ -111,6 +112,7 @@ check_union_passing6(union un6 u ATTRIBUTE_UNUSED)
} }
#define check_union_passing6 WRAP_CALL(check_union_passing6) #define check_union_passing6 WRAP_CALL(check_union_passing6)
#endif
int int
main (void) main (void)
...@@ -123,9 +125,11 @@ main (void) ...@@ -123,9 +125,11 @@ main (void)
struct long_struct ls; struct long_struct ls;
#endif /* CHECK_LARGER_UNION_PASSING */ #endif /* CHECK_LARGER_UNION_PASSING */
union un4 u4[8]; union un4 u4[8];
union un5 u5 = { 48.394 }; union un5 u5;
int i; int i;
#ifdef CHECK_FLOAT128
union un6 u6; union un6 u6;
#endif
/* Check a union with char, int. */ /* Check a union with char, int. */
clear_struct_registers; clear_struct_registers;
...@@ -208,14 +212,17 @@ main (void) ...@@ -208,14 +212,17 @@ main (void)
u4[4], u4[5], u4[6], u4[7]); u4[4], u4[5], u4[6], u4[7]);
clear_struct_registers; clear_struct_registers;
u5.d = 48.394;
iregs.I0 = u5.ll & 0xffffffff; iregs.I0 = u5.ll & 0xffffffff;
iregs.I1 = (u5.ll >> 32) & 0xffffffff; iregs.I1 = (u5.ll >> 32) & 0xffffffff;
num_iregs = 2; num_iregs = 2;
clear_int_hardware_registers; clear_int_hardware_registers;
check_union_passing5(u5); check_union_passing5(u5);
#ifdef CHECK_FLOAT128
u6.i = 2; u6.i = 2;
check_union_passing6(u6); check_union_passing6(u6);
#endif
return 0; return 0;
} }
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment