aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorSiddhesh Poyarekar <siddhesh@gotplt.org>2023-07-21 11:13:58 -0400
committerSiddhesh Poyarekar <siddhesh@gotplt.org>2023-07-26 07:42:53 -0400
commit386df7ce7b38ef00e28080a779ef2dfd6949cf15 (patch)
tree102bcdfac61e829d30fa432c08c2d32460232394 /gcc
parent8605bd9321010f15c471d511de5a06bbd9cc7c4b (diff)
downloadgcc-386df7ce7b38ef00e28080a779ef2dfd6949cf15.zip
gcc-386df7ce7b38ef00e28080a779ef2dfd6949cf15.tar.gz
gcc-386df7ce7b38ef00e28080a779ef2dfd6949cf15.tar.bz2
testsuite/110763: Ensure zero return from test
The test deliberately reads beyond bounds to exersize ubsan and the return value may be anything, based on previous allocations. The OFF test caters for it by ANDing the return with 0, do the same for the DYN test. gcc/testsuite/ChangeLog: PR testsuite/110763 * gcc.dg/ubsan/object-size-dyn.c (dyn): New parameter RET. (main): Use it. Signed-off-by: Siddhesh Poyarekar <siddhesh@gotplt.org>
Diffstat (limited to 'gcc')
-rw-r--r--gcc/testsuite/gcc.dg/ubsan/object-size-dyn.c6
1 files changed, 3 insertions, 3 deletions
diff --git a/gcc/testsuite/gcc.dg/ubsan/object-size-dyn.c b/gcc/testsuite/gcc.dg/ubsan/object-size-dyn.c
index 0159f5b..49c3abe 100644
--- a/gcc/testsuite/gcc.dg/ubsan/object-size-dyn.c
+++ b/gcc/testsuite/gcc.dg/ubsan/object-size-dyn.c
@@ -5,12 +5,12 @@
int
__attribute__ ((noinline))
-dyn (int size, int i)
+dyn (int size, int i, int ret)
{
__builtin_printf ("dyn\n");
fflush (stdout);
int *alloc = __builtin_calloc (size, sizeof (int));
- int ret = alloc[i];
+ ret = ret & alloc[i];
__builtin_free (alloc);
return ret;
}
@@ -28,7 +28,7 @@ off (int size, int i, int ret)
int
main (void)
{
- int ret = dyn (2, 2);
+ int ret = dyn (2, 2, 0);
ret |= off (4, 4, 0);