summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorIvan Maidanski <ivmai@mail.ru>2021-12-26 10:44:52 +0300
committerIvan Maidanski <ivmai@mail.ru>2021-12-26 10:44:52 +0300
commitf5c4fcadb760c6ab37e444d01c718fa28354956a (patch)
tree7024bd48b50ae0a0b09280c499dee9ead7ac951d
parentcf451a53e05e4de8fb3d99a354c83d7e97789c82 (diff)
downloadbdwgc-f5c4fcadb760c6ab37e444d01c718fa28354956a.tar.gz
Eliminate 'value exceeds maximum object size' gcc warnings in huge_test
Issue #406 (bdwgc). * huge_test.c [_FORTIFY_SOURCE] (main): Do not call GC_MALLOC() with size argument bigger than GC_SWORD_MAX; add comment.
-rw-r--r--tests/huge_test.c11
1 files changed, 7 insertions, 4 deletions
diff --git a/tests/huge_test.c b/tests/huge_test.c
index bd3ad6c7..b9493f7a 100644
--- a/tests/huge_test.c
+++ b/tests/huge_test.c
@@ -48,10 +48,12 @@
int main(void)
{
- GC_INIT();
+ GC_INIT();
- CHECK_ALLOC_FAILED(GC_MALLOC(GC_SWORD_MAX - 1024), "SWORD_MAX-1024");
- CHECK_ALLOC_FAILED(GC_MALLOC(GC_SWORD_MAX), "SWORD_MAX");
+ CHECK_ALLOC_FAILED(GC_MALLOC(GC_SWORD_MAX - 1024), "SWORD_MAX-1024");
+ CHECK_ALLOC_FAILED(GC_MALLOC(GC_SWORD_MAX), "SWORD_MAX");
+ /* Skip other checks to avoid "exceeds maximum object size" gcc warning. */
+# if !defined(_FORTIFY_SOURCE)
CHECK_ALLOC_FAILED(GC_MALLOC((GC_word)GC_SWORD_MAX + 1), "SWORD_MAX+1");
CHECK_ALLOC_FAILED(GC_MALLOC((GC_word)GC_SWORD_MAX + 1024),
"SWORD_MAX+1024");
@@ -60,5 +62,6 @@ int main(void)
CHECK_ALLOC_FAILED(GC_MALLOC(GC_WORD_MAX - 8), "WORD_MAX-8");
CHECK_ALLOC_FAILED(GC_MALLOC(GC_WORD_MAX - 4), "WORD_MAX-4");
CHECK_ALLOC_FAILED(GC_MALLOC(GC_WORD_MAX), "WORD_MAX");
- return 0;
+# endif
+ return 0;
}