about summary refs log tree commit diff
path: root/malloc
diff options
context:
space:
mode:
Diffstat (limited to 'malloc')
-rw-r--r--malloc/tst-malloc.c15
-rw-r--r--malloc/tst-mcheck.c22
-rw-r--r--malloc/tst-realloc.c15
3 files changed, 52 insertions, 0 deletions
diff --git a/malloc/tst-malloc.c b/malloc/tst-malloc.c
index e756102d3d..740ac6ce31 100644
--- a/malloc/tst-malloc.c
+++ b/malloc/tst-malloc.c
@@ -19,6 +19,7 @@
 #include <errno.h>
 #include <malloc.h>
 #include <stdio.h>
+#include <libc-internal.h>
 
 static int errors = 0;
 
@@ -37,7 +38,14 @@ do_test (void)
 
   errno = 0;
 
+  DIAG_PUSH_NEEDS_COMMENT;
+#if __GNUC_PREREQ (7, 0)
+  /* GCC 7 warns about too-large allocations; here we want to test
+     that they fail.  */
+  DIAG_IGNORE_NEEDS_COMMENT (7, "-Walloc-size-larger-than=");
+#endif
   p = malloc (-1);
+  DIAG_POP_NEEDS_COMMENT;
   save = errno;
 
   if (p != NULL)
@@ -67,7 +75,14 @@ do_test (void)
   if (p == NULL)
     merror ("malloc (513K) failed.");
 
+  DIAG_PUSH_NEEDS_COMMENT;
+#if __GNUC_PREREQ (7, 0)
+  /* GCC 7 warns about too-large allocations; here we want to test
+     that they fail.  */
+  DIAG_IGNORE_NEEDS_COMMENT (7, "-Walloc-size-larger-than=");
+#endif
   q = malloc (-512 * 1024);
+  DIAG_POP_NEEDS_COMMENT;
   if (q != NULL)
     merror ("malloc (-512K) succeeded.");
 
diff --git a/malloc/tst-mcheck.c b/malloc/tst-mcheck.c
index 73a497f988..2e3cba96b8 100644
--- a/malloc/tst-mcheck.c
+++ b/malloc/tst-mcheck.c
@@ -19,6 +19,7 @@
 #include <errno.h>
 #include <stdio.h>
 #include <stdlib.h>
+#include <libc-internal.h>
 
 static int errors = 0;
 
@@ -36,7 +37,14 @@ do_test (void)
 
   errno = 0;
 
+  DIAG_PUSH_NEEDS_COMMENT;
+#if __GNUC_PREREQ (7, 0)
+  /* GCC 7 warns about too-large allocations; here we want to test
+     that they fail.  */
+  DIAG_IGNORE_NEEDS_COMMENT (7, "-Walloc-size-larger-than=");
+#endif
   p = malloc (-1);
+  DIAG_POP_NEEDS_COMMENT;
 
   if (p != NULL)
     merror ("malloc (-1) succeeded.");
@@ -67,10 +75,17 @@ do_test (void)
   if (p == NULL)
     merror ("malloc (512) failed.");
 
+  DIAG_PUSH_NEEDS_COMMENT;
+#if __GNUC_PREREQ (7, 0)
+  /* GCC 7 warns about too-large allocations; here we want to test
+     that they fail.  */
+  DIAG_IGNORE_NEEDS_COMMENT (7, "-Walloc-size-larger-than=");
+#endif
   if (realloc (p, -256) != NULL)
     merror ("realloc (p, -256) succeeded.");
   else if (errno != ENOMEM)
     merror ("errno is not set correctly.");
+  DIAG_POP_NEEDS_COMMENT;
 
   free (p);
 
@@ -78,10 +93,17 @@ do_test (void)
   if (p == NULL)
     merror ("malloc (512) failed.");
 
+  DIAG_PUSH_NEEDS_COMMENT;
+#if __GNUC_PREREQ (7, 0)
+  /* GCC 7 warns about too-large allocations; here we want to test
+     that they fail.  */
+  DIAG_IGNORE_NEEDS_COMMENT (7, "-Walloc-size-larger-than=");
+#endif
   if (realloc (p, -1) != NULL)
     merror ("realloc (p, -1) succeeded.");
   else if (errno != ENOMEM)
     merror ("errno is not set correctly.");
+  DIAG_POP_NEEDS_COMMENT;
 
   free (p);
   free (q);
diff --git a/malloc/tst-realloc.c b/malloc/tst-realloc.c
index 53182b35c6..7f1f228c06 100644
--- a/malloc/tst-realloc.c
+++ b/malloc/tst-realloc.c
@@ -19,6 +19,7 @@
 #include <malloc.h>
 #include <stdio.h>
 #include <string.h>
+#include <libc-internal.h>
 
 static int errors = 0;
 
@@ -39,7 +40,14 @@ do_test (void)
   errno = 0;
 
   /* realloc (NULL, ...) behaves similarly to malloc (C89).  */
+  DIAG_PUSH_NEEDS_COMMENT;
+#if __GNUC_PREREQ (7, 0)
+  /* GCC 7 warns about too-large allocations; here we want to test
+     that they fail.  */
+  DIAG_IGNORE_NEEDS_COMMENT (7, "-Walloc-size-larger-than=");
+#endif
   p = realloc (NULL, -1);
+  DIAG_POP_NEEDS_COMMENT;
   save = errno;
 
   if (p != NULL)
@@ -111,7 +119,14 @@ do_test (void)
     merror ("first 16 bytes were not correct");
 
   /* Check failed realloc leaves original untouched (C89).  */
+  DIAG_PUSH_NEEDS_COMMENT;
+#if __GNUC_PREREQ (7, 0)
+  /* GCC 7 warns about too-large allocations; here we want to test
+     that they fail.  */
+  DIAG_IGNORE_NEEDS_COMMENT (7, "-Walloc-size-larger-than=");
+#endif
   c = realloc (p, -1);
+  DIAG_POP_NEEDS_COMMENT;
   if (c != NULL)
     merror ("realloc (p, -1) succeeded.");