From 17722fb9e6f8c79c7016c68ea359d6fe2dd5aadd Mon Sep 17 00:00:00 2001 From: Senthil Kumar Selvaraj Date: Tue, 28 Mar 2017 10:55:18 +0000 Subject: [PATCH] Fix broken tests for avr target These tests assume {unsigned,} ints are 32 bits or wider. Explicitly specify __{U}INT32_TYPE__ for targets with __SIZEOF_INT__ < 4. gcc/testsuite/ 2017-03-28 Senthil Kumar Selvaraj * gcc.c-torture/execute/pr79121.c:Use __{U}INT32_TYPE__ for targets with sizeof(int) < 4. * gcc.c-torture/execute/pr79737-1.c (struct S): Likewise. * gcc.c-torture/execute/pr79737-2.c: Likewise. * gcc.dg/torture/pr79777.c: Likewise. * gcc.dg/torture/pr79910.c: Likewise. From-SVN: r246529 --- gcc/testsuite/ChangeLog | 9 +++++++++ gcc/testsuite/gcc.c-torture/execute/pr79121.c | 16 ++++++++++++---- gcc/testsuite/gcc.c-torture/execute/pr79737-1.c | 16 +++++++++++----- gcc/testsuite/gcc.c-torture/execute/pr79737-2.c | 16 +++++++++++----- gcc/testsuite/gcc.dg/torture/pr79777.c | 9 +++++++-- gcc/testsuite/gcc.dg/torture/pr79910.c | 6 +++++- 6 files changed, 55 insertions(+), 17 deletions(-) diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog index 4abe1dc0cfa..fe42af1b3bb 100644 --- a/gcc/testsuite/ChangeLog +++ b/gcc/testsuite/ChangeLog @@ -1,3 +1,12 @@ +2017-03-28 Senthil Kumar Selvaraj + + * gcc.c-torture/execute/pr79121.c:Use __{U}INT32_TYPE__ for targets + with sizeof(int) < 4. + * gcc.c-torture/execute/pr79737-1.c (struct S): Likewise. + * gcc.c-torture/execute/pr79737-2.c: Likewise. + * gcc.dg/torture/pr79777.c: Likewise. + * gcc.dg/torture/pr79910.c: Likewise. + 2017-03-28 Richard Biener PR middle-end/80222 diff --git a/gcc/testsuite/gcc.c-torture/execute/pr79121.c b/gcc/testsuite/gcc.c-torture/execute/pr79121.c index 9fca7fbded6..5593acc7d29 100644 --- a/gcc/testsuite/gcc.c-torture/execute/pr79121.c +++ b/gcc/testsuite/gcc.c-torture/execute/pr79121.c @@ -1,21 +1,29 @@ +#if __SIZEOF_INT__ < 4 + __extension__ typedef __UINT32_TYPE__ uint32_t; + __extension__ typedef __INT32_TYPE__ int32_t; +#else + typedef unsigned uint32_t; + typedef int int32_t; +#endif + extern void abort (void); -__attribute__ ((noinline, noclone)) unsigned long long f1 (int x) +__attribute__ ((noinline, noclone)) unsigned long long f1 (int32_t x) { return ((unsigned long long) x) << 4; } -__attribute__ ((noinline, noclone)) long long f2 (unsigned x) +__attribute__ ((noinline, noclone)) long long f2 (uint32_t x) { return ((long long) x) << 4; } -__attribute__ ((noinline, noclone)) unsigned long long f3 (unsigned x) +__attribute__ ((noinline, noclone)) unsigned long long f3 (uint32_t x) { return ((unsigned long long) x) << 4; } -__attribute__ ((noinline, noclone)) long long f4 (int x) +__attribute__ ((noinline, noclone)) long long f4 (int32_t x) { return ((long long) x) << 4; } diff --git a/gcc/testsuite/gcc.c-torture/execute/pr79737-1.c b/gcc/testsuite/gcc.c-torture/execute/pr79737-1.c index 05e392c116d..f7fa5f9ea9b 100644 --- a/gcc/testsuite/gcc.c-torture/execute/pr79737-1.c +++ b/gcc/testsuite/gcc.c-torture/execute/pr79737-1.c @@ -1,13 +1,19 @@ /* PR tree-optimization/79737 */ +#if __SIZEOF_INT__ < 4 + __extension__ typedef __INT32_TYPE__ int32_t; +#else + typedef int int32_t; +#endif + #pragma pack(1) struct S { - int b:18; - int c:1; - int d:24; - int e:15; - int f:14; + int32_t b:18; + int32_t c:1; + int32_t d:24; + int32_t e:15; + int32_t f:14; } i; int g, j, k; static struct S h; diff --git a/gcc/testsuite/gcc.c-torture/execute/pr79737-2.c b/gcc/testsuite/gcc.c-torture/execute/pr79737-2.c index 37b991e1505..56a6ad8f663 100644 --- a/gcc/testsuite/gcc.c-torture/execute/pr79737-2.c +++ b/gcc/testsuite/gcc.c-torture/execute/pr79737-2.c @@ -1,13 +1,19 @@ /* PR tree-optimization/79737 */ +#if __SIZEOF_INT__ < 4 + __extension__ typedef __INT32_TYPE__ int32_t; +#else + typedef int int32_t; +#endif + #pragma pack(1) struct S { - int b:18; - int c:1; - int d:24; - int e:15; - int f:14; + int32_t b:18; + int32_t c:1; + int32_t d:24; + int32_t e:15; + int32_t f:14; } i, j; void diff --git a/gcc/testsuite/gcc.dg/torture/pr79777.c b/gcc/testsuite/gcc.dg/torture/pr79777.c index eb1bec776e2..40d6740d2a4 100644 --- a/gcc/testsuite/gcc.dg/torture/pr79777.c +++ b/gcc/testsuite/gcc.dg/torture/pr79777.c @@ -1,9 +1,14 @@ /* { dg-do compile } */ typedef unsigned short __u16; -typedef unsigned int __u32; +#if __SIZEOF_INT__ < 4 + __extension__ typedef __UINT32_TYPE__ __u32; + __extension__ typedef __UINT32_TYPE__ u32; +#else + typedef unsigned int __u32; + typedef unsigned int u32; +#endif typedef unsigned char u8; -typedef unsigned int u32; typedef __u16 __le16; typedef __u32 __le32; typedef u32 secno; diff --git a/gcc/testsuite/gcc.dg/torture/pr79910.c b/gcc/testsuite/gcc.dg/torture/pr79910.c index 5fe80aee144..280dda1a49f 100644 --- a/gcc/testsuite/gcc.dg/torture/pr79910.c +++ b/gcc/testsuite/gcc.dg/torture/pr79910.c @@ -2,7 +2,11 @@ /* { dg-additional-options "-fweb" } */ typedef unsigned char u8; -typedef unsigned int u32; +#if __SIZEOF_INT__ < 4 + __extension__ typedef __UINT32_TYPE__ u32; +#else + typedef unsigned int u32; +#endif typedef unsigned long long u64; int a; -- 2.30.2