From: Andy Hutchinson Date: Wed, 2 Jul 2008 22:31:11 +0000 (+0000) Subject: re PR testsuite/36285 (gcc.dg/compat/struct-by-value-xxx improper test for AVR target) X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=5feeae18a70af92e0df10b09f6c8ffb3c345053c;p=gcc.git re PR testsuite/36285 (gcc.dg/compat/struct-by-value-xxx improper test for AVR target) PR testsuite/36285 * gcc.dg/compat/struct-by-value-16_x.c: Move some tests to new file to reduce code size. * gcc.dg/compat/struct-by-value-16_y.c: Ditto. * gcc.dg/compat/struct-by-value-16a_main.c: New file. * gcc.dg/compat/struct-by-value-16a_x.c: Ditto. * gcc.dg/compat/struct-by-value-16a_y.c: Ditto. * gcc.dg/compat/struct-by-value-17_x.c: Move some tests to new file to reduce code size. * gcc.dg/compat/struct-by-value-17_y.c: Ditto. * gcc.dg/compat/struct-by-value-17a_main.c: New file. * gcc.dg/compat/struct-by-value-17a_x.c: Ditto. * gcc.dg/compat/struct-by-value-17a_y.c: Ditto. * gcc.dg/compat/struct-by-value-18_x.c: Move some tests to new file to reduce code size. * gcc.dg/compat/struct-by-value-18_y.c: Ditto. * gcc.dg/compat/struct-by-value-18a_main.c: New file. * gcc.dg/compat/struct-by-value-18a_x.c: Ditto. * gcc.dg/compat/struct-by-value-18a_y.c: Ditto. From-SVN: r137396 --- diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog index 6cf1443fb6f..03fc86daef2 100644 --- a/gcc/testsuite/ChangeLog +++ b/gcc/testsuite/ChangeLog @@ -1,3 +1,26 @@ +2008-07-02 Andy Hutchinson + + PR testsuite/36285 + * gcc.dg/compat/struct-by-value-16_x.c: Move some tests to new file + to reduce code size. + * gcc.dg/compat/struct-by-value-16_y.c: Ditto. + * gcc.dg/compat/struct-by-value-16a_main.c: New file. + * gcc.dg/compat/struct-by-value-16a_x.c: Ditto. + * gcc.dg/compat/struct-by-value-16a_y.c: Ditto. + * gcc.dg/compat/struct-by-value-17_x.c: Move some tests to new file + to reduce code size. + * gcc.dg/compat/struct-by-value-17_y.c: Ditto. + * gcc.dg/compat/struct-by-value-17a_main.c: New file. + * gcc.dg/compat/struct-by-value-17a_x.c: Ditto. + * gcc.dg/compat/struct-by-value-17a_y.c: Ditto. + * gcc.dg/compat/struct-by-value-18_x.c: Move some tests to new file + to reduce code size. + * gcc.dg/compat/struct-by-value-18_y.c: Ditto. + * gcc.dg/compat/struct-by-value-18a_main.c: New file. + * gcc.dg/compat/struct-by-value-18a_x.c: Ditto. + * gcc.dg/compat/struct-by-value-18a_y.c: Ditto. + + 2008-07-02 Andy Hutchinson * gcc.dg/pr36227.c: Correct test for targets where long is diff --git a/gcc/testsuite/gcc.dg/compat/struct-by-value-16_x.c b/gcc/testsuite/gcc.dg/compat/struct-by-value-16_x.c index 6b7331833ae..eb995921467 100644 --- a/gcc/testsuite/gcc.dg/compat/struct-by-value-16_x.c +++ b/gcc/testsuite/gcc.dg/compat/struct-by-value-16_x.c @@ -19,10 +19,7 @@ TEST(Scf9, _Complex float) TEST(Scf10, _Complex float) TEST(Scf11, _Complex float) TEST(Scf12, _Complex float) -TEST(Scf13, _Complex float) -TEST(Scf14, _Complex float) -TEST(Scf15, _Complex float) -TEST(Scf16, _Complex float) + #undef T @@ -45,10 +42,7 @@ T(Scf9, _Complex float) T(Scf10, _Complex float) T(Scf11, _Complex float) T(Scf12, _Complex float) -T(Scf13, _Complex float) -T(Scf14, _Complex float) -T(Scf15, _Complex float) -T(Scf16, _Complex float) + DEBUG_FINI diff --git a/gcc/testsuite/gcc.dg/compat/struct-by-value-16_y.c b/gcc/testsuite/gcc.dg/compat/struct-by-value-16_y.c index 273d7cc4f3e..9450815e74c 100644 --- a/gcc/testsuite/gcc.dg/compat/struct-by-value-16_y.c +++ b/gcc/testsuite/gcc.dg/compat/struct-by-value-16_y.c @@ -27,7 +27,4 @@ TEST(Scf9, _Complex float) TEST(Scf10, _Complex float) TEST(Scf11, _Complex float) TEST(Scf12, _Complex float) -TEST(Scf13, _Complex float) -TEST(Scf14, _Complex float) -TEST(Scf15, _Complex float) -TEST(Scf16, _Complex float) + diff --git a/gcc/testsuite/gcc.dg/compat/struct-by-value-16a_main.c b/gcc/testsuite/gcc.dg/compat/struct-by-value-16a_main.c new file mode 100644 index 00000000000..6a71d15b8ec --- /dev/null +++ b/gcc/testsuite/gcc.dg/compat/struct-by-value-16a_main.c @@ -0,0 +1,14 @@ +/* Test structures passed by value, including to a function with a + variable-length argument lists. All struct members are of type + _Complex float. */ + +extern void struct_by_value_16_x (void); +extern void exit (int); +int fails; + +int +main () +{ + struct_by_value_16a_x (); + exit (0); +} diff --git a/gcc/testsuite/gcc.dg/compat/struct-by-value-16a_x.c b/gcc/testsuite/gcc.dg/compat/struct-by-value-16a_x.c new file mode 100644 index 00000000000..0aa45249590 --- /dev/null +++ b/gcc/testsuite/gcc.dg/compat/struct-by-value-16a_x.c @@ -0,0 +1,37 @@ +#include "compat-common.h" + +#include "fp-struct-defs.h" +#include "fp-struct-check.h" +#include "fp-struct-test-by-value-x.h" + +DEFS(cf, _Complex float) +CHECKS(cf, _Complex float) + + +TEST(Scf13, _Complex float) +TEST(Scf14, _Complex float) +TEST(Scf15, _Complex float) +TEST(Scf16, _Complex float) + +#undef T + +void +struct_by_value_16a_x () +{ +DEBUG_INIT + +#define T(TYPE, MTYPE) testit##TYPE (); + + +T(Scf13, _Complex float) +T(Scf14, _Complex float) +T(Scf15, _Complex float) +T(Scf16, _Complex float) + +DEBUG_FINI + +if (fails != 0) + abort (); + +#undef T +} diff --git a/gcc/testsuite/gcc.dg/compat/struct-by-value-16a_y.c b/gcc/testsuite/gcc.dg/compat/struct-by-value-16a_y.c new file mode 100644 index 00000000000..2fd561ef044 --- /dev/null +++ b/gcc/testsuite/gcc.dg/compat/struct-by-value-16a_y.c @@ -0,0 +1,22 @@ +#include + +#include "compat-common.h" + +#ifdef SKIP_VA +const int test_va = 0; +#else +const int test_va = 1; +#endif + +#include "fp-struct-defs.h" +#include "fp-struct-init.h" +#include "fp-struct-test-by-value-y.h" + +DEFS(cf,_Complex float) +INITS(cf, _Complex float) + + +TEST(Scf13, _Complex float) +TEST(Scf14, _Complex float) +TEST(Scf15, _Complex float) +TEST(Scf16, _Complex float) diff --git a/gcc/testsuite/gcc.dg/compat/struct-by-value-17_x.c b/gcc/testsuite/gcc.dg/compat/struct-by-value-17_x.c index cba628bcb5b..93fd788ea45 100644 --- a/gcc/testsuite/gcc.dg/compat/struct-by-value-17_x.c +++ b/gcc/testsuite/gcc.dg/compat/struct-by-value-17_x.c @@ -19,10 +19,7 @@ TEST(Scd9, _Complex double) TEST(Scd10, _Complex double) TEST(Scd11, _Complex double) TEST(Scd12, _Complex double) -TEST(Scd13, _Complex double) -TEST(Scd14, _Complex double) -TEST(Scd15, _Complex double) -TEST(Scd16, _Complex double) + #undef T @@ -45,10 +42,7 @@ T(Scd9, _Complex double) T(Scd10, _Complex double) T(Scd11, _Complex double) T(Scd12, _Complex double) -T(Scd13, _Complex double) -T(Scd14, _Complex double) -T(Scd15, _Complex double) -T(Scd16, _Complex double) + DEBUG_FINI diff --git a/gcc/testsuite/gcc.dg/compat/struct-by-value-17_y.c b/gcc/testsuite/gcc.dg/compat/struct-by-value-17_y.c index a0342a37c0c..f8ac0a7c15e 100644 --- a/gcc/testsuite/gcc.dg/compat/struct-by-value-17_y.c +++ b/gcc/testsuite/gcc.dg/compat/struct-by-value-17_y.c @@ -27,7 +27,4 @@ TEST(Scd9, _Complex double) TEST(Scd10, _Complex double) TEST(Scd11, _Complex double) TEST(Scd12, _Complex double) -TEST(Scd13, _Complex double) -TEST(Scd14, _Complex double) -TEST(Scd15, _Complex double) -TEST(Scd16, _Complex double) + diff --git a/gcc/testsuite/gcc.dg/compat/struct-by-value-17a_main.c b/gcc/testsuite/gcc.dg/compat/struct-by-value-17a_main.c new file mode 100644 index 00000000000..09746a9d67b --- /dev/null +++ b/gcc/testsuite/gcc.dg/compat/struct-by-value-17a_main.c @@ -0,0 +1,28 @@ +/* Test structures passed by value, including to a function with a + variable-length argument lists. All struct members are of type + _Complex double. */ + +extern void struct_by_value_17_x (void); +extern void exit (int); +int fails; + +int +main () +{ + struct_by_value_17a_x (); + exit (0); +} +/* Test structures passed by value, including to a function with a + variable-length argument lists. All struct members are of type + _Complex double. */ + +extern void struct_by_value_17_x (void); +extern void exit (int); +int fails; + +int +main () +{ + struct_by_value_17a_x (); + exit (0); +} diff --git a/gcc/testsuite/gcc.dg/compat/struct-by-value-17a_x.c b/gcc/testsuite/gcc.dg/compat/struct-by-value-17a_x.c new file mode 100644 index 00000000000..0a2b1b0ee14 --- /dev/null +++ b/gcc/testsuite/gcc.dg/compat/struct-by-value-17a_x.c @@ -0,0 +1,74 @@ +#include "compat-common.h" + +#include "fp-struct-defs.h" +#include "fp-struct-check.h" +#include "fp-struct-test-by-value-x.h" + +DEFS(cd, _Complex double) +CHECKS(cd, _Complex double) + + +TEST(Scd13, _Complex double) +TEST(Scd14, _Complex double) +TEST(Scd15, _Complex double) +TEST(Scd16, _Complex double) + +#undef T + +void +struct_by_value_17a_x () +{ +DEBUG_INIT + +#define T(TYPE, MTYPE) testit##TYPE (); + + +T(Scd13, _Complex double) +T(Scd14, _Complex double) +T(Scd15, _Complex double) +T(Scd16, _Complex double) + +DEBUG_FINI + +if (fails != 0) + abort (); + +#undef T +} +#include "compat-common.h" + +#include "fp-struct-defs.h" +#include "fp-struct-check.h" +#include "fp-struct-test-by-value-x.h" + +DEFS(cd, _Complex double) +CHECKS(cd, _Complex double) + + +TEST(Scd13, _Complex double) +TEST(Scd14, _Complex double) +TEST(Scd15, _Complex double) +TEST(Scd16, _Complex double) + +#undef T + +void +struct_by_value_17a_x () +{ +DEBUG_INIT + +#define T(TYPE, MTYPE) testit##TYPE (); + + +T(Scd13, _Complex double) +T(Scd14, _Complex double) +T(Scd15, _Complex double) +T(Scd16, _Complex double) + +DEBUG_FINI + +if (fails != 0) + abort (); + +#undef T +} diff --git a/gcc/testsuite/gcc.dg/compat/struct-by-value-17a_y.c b/gcc/testsuite/gcc.dg/compat/struct-by-value-17a_y.c new file mode 100644 index 00000000000..d435d09ab84 --- /dev/null +++ b/gcc/testsuite/gcc.dg/compat/struct-by-value-17a_y.c @@ -0,0 +1,44 @@ +#include + +#include "compat-common.h" + +#ifdef SKIP_VA +const int test_va = 0; +#else +const int test_va = 1; +#endif + +#include "fp-struct-defs.h" +#include "fp-struct-init.h" +#include "fp-struct-test-by-value-y.h" + +DEFS(cd,_Complex double) +INITS(cd, _Complex double) + + +TEST(Scd13, _Complex double) +TEST(Scd14, _Complex double) +TEST(Scd15, _Complex double) +TEST(Scd16, _Complex double) +#include + +#include "compat-common.h" + +#ifdef SKIP_VA +const int test_va = 0; +#else +const int test_va = 1; +#endif + +#include "fp-struct-defs.h" +#include "fp-struct-init.h" +#include "fp-struct-test-by-value-y.h" + +DEFS(cd,_Complex double) +INITS(cd, _Complex double) + + +TEST(Scd13, _Complex double) +TEST(Scd14, _Complex double) +TEST(Scd15, _Complex double) +TEST(Scd16, _Complex double) diff --git a/gcc/testsuite/gcc.dg/compat/struct-by-value-18_x.c b/gcc/testsuite/gcc.dg/compat/struct-by-value-18_x.c index e040ecc79a7..f9dd6aa0b72 100644 --- a/gcc/testsuite/gcc.dg/compat/struct-by-value-18_x.c +++ b/gcc/testsuite/gcc.dg/compat/struct-by-value-18_x.c @@ -19,10 +19,7 @@ TEST(Scld9, _Complex long double) TEST(Scld10, _Complex long double) TEST(Scld11, _Complex long double) TEST(Scld12, _Complex long double) -TEST(Scld13, _Complex long double) -TEST(Scld14, _Complex long double) -TEST(Scld15, _Complex long double) -TEST(Scld16, _Complex long double) + #undef T @@ -45,10 +42,7 @@ T(Scld9, _Complex long double) T(Scld10, _Complex long double) T(Scld11, _Complex long double) T(Scld12, _Complex long double) -T(Scld13, _Complex long double) -T(Scld14, _Complex long double) -T(Scld15, _Complex long double) -T(Scld16, _Complex long double) + DEBUG_FINI diff --git a/gcc/testsuite/gcc.dg/compat/struct-by-value-18_y.c b/gcc/testsuite/gcc.dg/compat/struct-by-value-18_y.c index b69425a5f4e..8c732d58273 100644 --- a/gcc/testsuite/gcc.dg/compat/struct-by-value-18_y.c +++ b/gcc/testsuite/gcc.dg/compat/struct-by-value-18_y.c @@ -27,7 +27,4 @@ TEST(Scld9, _Complex long double) TEST(Scld10, _Complex long double) TEST(Scld11, _Complex long double) TEST(Scld12, _Complex long double) -TEST(Scld13, _Complex long double) -TEST(Scld14, _Complex long double) -TEST(Scld15, _Complex long double) -TEST(Scld16, _Complex long double) + diff --git a/gcc/testsuite/gcc.dg/compat/struct-by-value-18a_main.c b/gcc/testsuite/gcc.dg/compat/struct-by-value-18a_main.c new file mode 100644 index 00000000000..5b9dfd983b4 --- /dev/null +++ b/gcc/testsuite/gcc.dg/compat/struct-by-value-18a_main.c @@ -0,0 +1,14 @@ +/* Test structures passed by value, including to a function with a + variable-length argument lists. All struct members are of type + _Complex long double. */ + +extern void struct_by_value_18_x (void); +extern void exit (int); +int fails; + +int +main () +{ + struct_by_value_18a_x (); + exit (0); +} diff --git a/gcc/testsuite/gcc.dg/compat/struct-by-value-18a_x.c b/gcc/testsuite/gcc.dg/compat/struct-by-value-18a_x.c new file mode 100644 index 00000000000..72f5bbf5d44 --- /dev/null +++ b/gcc/testsuite/gcc.dg/compat/struct-by-value-18a_x.c @@ -0,0 +1,37 @@ +#include "compat-common.h" + +#include "fp-struct-defs.h" +#include "fp-struct-check.h" +#include "fp-struct-test-by-value-x.h" + +DEFS(cld, _Complex long double) +CHECKS(cld, _Complex long double) + + +TEST(Scld13, _Complex long double) +TEST(Scld14, _Complex long double) +TEST(Scld15, _Complex long double) +TEST(Scld16, _Complex long double) + +#undef T + +void +struct_by_value_18a_x () +{ +DEBUG_INIT + +#define T(TYPE, MTYPE) testit##TYPE (); + + +T(Scld13, _Complex long double) +T(Scld14, _Complex long double) +T(Scld15, _Complex long double) +T(Scld16, _Complex long double) + +DEBUG_FINI + +if (fails != 0) + abort (); + +#undef T +} diff --git a/gcc/testsuite/gcc.dg/compat/struct-by-value-18a_y.c b/gcc/testsuite/gcc.dg/compat/struct-by-value-18a_y.c new file mode 100644 index 00000000000..545dcf8970f --- /dev/null +++ b/gcc/testsuite/gcc.dg/compat/struct-by-value-18a_y.c @@ -0,0 +1,22 @@ +#include + +#include "compat-common.h" + +#ifdef SKIP_VA +const int test_va = 0; +#else +const int test_va = 1; +#endif + +#include "fp-struct-defs.h" +#include "fp-struct-init.h" +#include "fp-struct-test-by-value-y.h" + +DEFS(cld,_Complex long double) +INITS(cld, _Complex long double) + + +TEST(Scld13, _Complex long double) +TEST(Scld14, _Complex long double) +TEST(Scld15, _Complex long double) +TEST(Scld16, _Complex long double)