Skip to content

Commit b370e6a

Browse files
committed
Hide redundant test output, add more test combinations
1 parent cd20b4a commit b370e6a

File tree

1 file changed

+15
-5
lines changed

1 file changed

+15
-5
lines changed

compiler-rt/test/asan/TestCases/fakestack_alignment.cpp

Lines changed: 15 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,20 @@
1+
// Regression test 1:
12
// This deterministically fails: when the stack size is 1<<16, FakeStack's
23
// GetFrame() is out of alignment, because SizeRequiredForFlags(16) == 2K.
3-
// RUN: %clangxx_asan -fsanitize-address-use-after-return=always -O0 -DALIGNMENT=4096 -DTHREAD_COUNT=1 -DTHREAD_STACK_SIZE=65536 %s -o %t && %run %t 2>&1
4+
// RUN: %clangxx_asan -fsanitize-address-use-after-return=always -O0 -DALIGNMENT=4096 -DTHREAD_COUNT=1 -DTHREAD_STACK_SIZE=65536 %s -o %t && %run %t 2>&1
45

6+
// Regression test 2:
57
// The FakeStack frame is not guaranteed to be aligned, but alignment can
68
// happen by chance, so try this on many threads.
7-
// RUN: %clangxx_asan -fsanitize-address-use-after-return=always -O0 -DALIGNMENT=8192 -DTHREAD_COUNT=32 -DTHREAD_STACK_SIZE=131072 %s -o %t && %run %t 2>&1
9+
// RUN: %clangxx_asan -fsanitize-address-use-after-return=always -O0 -DALIGNMENT=8192 -DTHREAD_COUNT=32 -DTHREAD_STACK_SIZE=131072 %s -o %t && %run %t 2>&1
10+
// RUN: %clangxx_asan -fsanitize-address-use-after-return=always -O0 -DALIGNMENT=16384 -DTHREAD_COUNT=32 -DTHREAD_STACK_SIZE=131072 %s -o %t && %run %t 2>&1
11+
12+
// Extra tests:
13+
// RUN: %clangxx_asan -fsanitize-address-use-after-return=always -O0 -DALIGNMENT=4096 -DTHREAD_COUNT=32 -DTHREAD_STACK_SIZE=65536 %s -o %t && %run %t 2>&1
14+
// RUN: %clangxx_asan -fsanitize-address-use-after-return=always -O0 -DALIGNMENT=8192 -DTHREAD_COUNT=32 -DTHREAD_STACK_SIZE=65536 %s -o %t && %run %t 2>&1
15+
// RUN: %clangxx_asan -fsanitize-address-use-after-return=always -O0 -DALIGNMENT=16384 -DTHREAD_COUNT=32 -DTHREAD_STACK_SIZE=65536 %s -o %t && %run %t 2>&1
16+
// RUN: %clangxx_asan -fsanitize-address-use-after-return=always -O0 -DALIGNMENT=4096 -DTHREAD_COUNT=32 -DTHREAD_STACK_SIZE=131072 %s -o %t && %run %t 2>&1
17+
// RUN: %clangxx_asan -fsanitize-address-use-after-return=always -O0 -DALIGNMENT=8192 -DTHREAD_COUNT=32 -DTHREAD_STACK_SIZE=131072 %s -o %t && %run %t 2>&1
818
// RUN: %clangxx_asan -fsanitize-address-use-after-return=always -O0 -DALIGNMENT=16384 -DTHREAD_COUNT=32 -DTHREAD_STACK_SIZE=131072 %s -o %t && %run %t 2>&1
919

1020
// XFAIL: *
@@ -26,10 +36,10 @@ bool misaligned = false;
2636
void *Thread(void *unused) {
2737
big_object x;
2838
uint alignment = (unsigned long)&x % alignof(big_object);
29-
printf("Thread: address modulo alignment is %u\n", alignment);
30-
if (alignment != 0)
39+
if (alignment != 0) {
40+
printf("Thread: address modulo alignment is %u\n", alignment);
3141
misaligned = true;
32-
42+
}
3343
return NULL;
3444
}
3545

0 commit comments

Comments
 (0)