]> git.ipfire.org Git - thirdparty/gcc.git/commitdiff
testsuite: fix ASAN errors
authorMartin Liska <mliska@suse.cz>
Tue, 14 Dec 2021 14:43:16 +0000 (15:43 +0100)
committerMartin Liska <mliska@suse.cz>
Tue, 14 Dec 2021 14:49:30 +0000 (15:49 +0100)
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.

gcc/testsuite/gcc.target/i386/avx2-psraq-1.c
gcc/testsuite/gcc.target/i386/m128-check.h
gcc/testsuite/gcc.target/i386/sse2-psraq-1.c
gcc/testsuite/gcc.target/i386/sse4_2-check.h

index e9051bf9fcbe63a5e1d7e7a7f2e523d99576662d..96e5c4ccf76b2b2f33f9637ebb0c9236f7b7946c 100644 (file)
@@ -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
index c468eac6a13c5d710690e4991ecdc78b187136ea..e90e1f02d32b48dc4635feb96266ca1d7289fcd7 100644 (file)
@@ -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
index 9a08ee4f7fa54205d6e9e52219bb4978c2bbd4d3..dfb0bb8435f7aa10e9c99da47e4fa735816dab5d 100644 (file)
@@ -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)
index d10e6c7d7e203c3bc22560e3331765d2048726d4..c33cd1b498695f7ba8502067ce302a83b1a6c4ed 100644 (file)
@@ -1,6 +1,7 @@
 #include <stdio.h>
 #include <stdlib.h>
 
+#include "m128-check.h"
 #include "cpuid.h"
 
 static void sse4_2_test (void);