aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorMartin Liska <mliska@suse.cz>2021-12-14 15:43:16 +0100
committerMartin Liska <mliska@suse.cz>2021-12-14 15:49:30 +0100
commit0dfb1bd94454ccae6d3c77799e209fab7711ed93 (patch)
treec621c486423ecd1f07d5279b6e91b99eeeed89f8 /gcc
parentb0e6a257f1862e217cdf19332ea0f7bad56dcddc (diff)
downloadgcc-0dfb1bd94454ccae6d3c77799e209fab7711ed93.zip
gcc-0dfb1bd94454ccae6d3c77799e209fab7711ed93.tar.gz
gcc-0dfb1bd94454ccae6d3c77799e209fab7711ed93.tar.bz2
testsuite: fix ASAN errors
The tests failed on my machine as they contain out-of-bounds access. gcc/testsuite/ChangeLog: * gcc.target/i386/avx2-psraq-1.c: Use ARRAY_SIZE. * gcc.target/i386/m128-check.h: Move it to the top-level context. * gcc.target/i386/sse2-psraq-1.c: Use ARRAY_SIZE. * gcc.target/i386/sse4_2-check.h: Include the header with ARRAY_SIZE definition.
Diffstat (limited to 'gcc')
-rw-r--r--gcc/testsuite/gcc.target/i386/avx2-psraq-1.c2
-rw-r--r--gcc/testsuite/gcc.target/i386/m128-check.h8
-rw-r--r--gcc/testsuite/gcc.target/i386/sse2-psraq-1.c2
-rw-r--r--gcc/testsuite/gcc.target/i386/sse4_2-check.h1
4 files changed, 7 insertions, 6 deletions
diff --git a/gcc/testsuite/gcc.target/i386/avx2-psraq-1.c b/gcc/testsuite/gcc.target/i386/avx2-psraq-1.c
index e9051bf..96e5c4c 100644
--- a/gcc/testsuite/gcc.target/i386/avx2-psraq-1.c
+++ b/gcc/testsuite/gcc.target/i386/avx2-psraq-1.c
@@ -41,7 +41,7 @@ TEST (void)
V a = (V) { 0xdeadbeefcafebabeULL, 0x123456789abcdef0ULL,
0x173a74be8a95134cULL, 0x817bae35ac0ebf12ULL };
int i;
- for (i = 0; tests[i].n; i++)
+ for (i = 0; i < ARRAY_SIZE (tests); i++)
{
V c = tests[i].fn (a);
if (c[0] != a[0] >> tests[i].n || c[1] != a[1] >> tests[i].n
diff --git a/gcc/testsuite/gcc.target/i386/m128-check.h b/gcc/testsuite/gcc.target/i386/m128-check.h
index c468eac..e90e1f0 100644
--- a/gcc/testsuite/gcc.target/i386/m128-check.h
+++ b/gcc/testsuite/gcc.target/i386/m128-check.h
@@ -1,6 +1,10 @@
#include <stdio.h>
#include <xmmintrin.h>
+#ifndef ARRAY_SIZE
+#define ARRAY_SIZE(A) (sizeof (A) / sizeof ((A)[0]))
+#endif
+
#ifdef __SSE2__
#include <emmintrin.h>
@@ -66,10 +70,6 @@ typedef union
float a[4];
} union128;
-#ifndef ARRAY_SIZE
-#define ARRAY_SIZE(A) (sizeof (A) / sizeof ((A)[0]))
-#endif
-
#ifdef DEBUG
#define PRINTF printf
#else
diff --git a/gcc/testsuite/gcc.target/i386/sse2-psraq-1.c b/gcc/testsuite/gcc.target/i386/sse2-psraq-1.c
index 9a08ee4..dfb0bb8 100644
--- a/gcc/testsuite/gcc.target/i386/sse2-psraq-1.c
+++ b/gcc/testsuite/gcc.target/i386/sse2-psraq-1.c
@@ -41,7 +41,7 @@ TEST (void)
V a = (V) { 0xdeadbeefcafebabeULL, 0x123456789abcdef0ULL };
V b = (V) { 0x173a74be8a95134cULL, 0x817bae35ac0ebf12ULL };
int i;
- for (i = 0; tests[i].n; i++)
+ for (i = 0; i < ARRAY_SIZE (tests); i++)
{
V c = tests[i].fn (a);
if (c[0] != a[0] >> tests[i].n || c[1] != a[1] >> tests[i].n)
diff --git a/gcc/testsuite/gcc.target/i386/sse4_2-check.h b/gcc/testsuite/gcc.target/i386/sse4_2-check.h
index d10e6c7..c33cd1b 100644
--- a/gcc/testsuite/gcc.target/i386/sse4_2-check.h
+++ b/gcc/testsuite/gcc.target/i386/sse4_2-check.h
@@ -1,6 +1,7 @@
#include <stdio.h>
#include <stdlib.h>
+#include "m128-check.h"
#include "cpuid.h"
static void sse4_2_test (void);