Skip to content

Commit c3598b1

Browse files
authored
[libc++] Improve libc++ tests when using optimizations (#88897)
Some tests were missing DoNotOptimize annotations.
1 parent ca25702 commit c3598b1

File tree

6 files changed

+18
-12
lines changed

6 files changed

+18
-12
lines changed

libcxx/test/std/language.support/support.dynamic/new.delete/new.delete.array/new.size_align.replace.indirect.pass.cpp

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -51,11 +51,12 @@ int main(int, char**) {
5151
// Test with an overaligned type
5252
{
5353
new_called = delete_called = 0;
54-
OverAligned* x = DoNotOptimize(new OverAligned[3]);
54+
OverAligned* dummy_data_block = new OverAligned[3];
55+
OverAligned* x = DoNotOptimize(dummy_data_block);
5556
ASSERT_WITH_OPERATOR_NEW_FALLBACKS(static_cast<void*>(x) == DummyData);
5657
ASSERT_WITH_OPERATOR_NEW_FALLBACKS(new_called == 1);
5758

58-
delete[] x;
59+
delete[] dummy_data_block;
5960
ASSERT_WITH_OPERATOR_NEW_FALLBACKS(delete_called == 1);
6061
}
6162

libcxx/test/std/language.support/support.dynamic/new.delete/new.delete.array/new.size_align.replace.pass.cpp

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -48,11 +48,12 @@ int main(int, char**) {
4848
// Test with an overaligned type
4949
{
5050
new_called = delete_called = 0;
51-
OverAligned* x = new OverAligned[3];
51+
OverAligned* dummy_data_block = new OverAligned[3];
52+
OverAligned* x = DoNotOptimize(dummy_data_block);
5253
assert(static_cast<void*>(x) == DummyData);
5354
assert(new_called == 1);
5455

55-
delete[] x;
56+
delete[] dummy_data_block;
5657
assert(delete_called == 1);
5758
}
5859

libcxx/test/std/language.support/support.dynamic/new.delete/new.delete.array/new.size_align_nothrow.replace.indirect.pass.cpp

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -55,11 +55,12 @@ int main(int, char**) {
5555
// Test with an overaligned type
5656
{
5757
new_called = delete_called = 0;
58-
OverAligned* x = DoNotOptimize(new (std::nothrow) OverAligned[3]);
58+
OverAligned* dummy_data_block = new (std::nothrow) OverAligned[3];
59+
OverAligned* x = DoNotOptimize(dummy_data_block);
5960
ASSERT_WITH_OPERATOR_NEW_FALLBACKS(static_cast<void*>(x) == DummyData);
6061
ASSERT_WITH_OPERATOR_NEW_FALLBACKS(new_called == 1);
6162

62-
delete[] x;
63+
delete[] dummy_data_block;
6364
ASSERT_WITH_OPERATOR_NEW_FALLBACKS(delete_called == 1);
6465
}
6566

libcxx/test/std/language.support/support.dynamic/new.delete/new.delete.single/new.size_align.replace.pass.cpp

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -48,11 +48,12 @@ int main(int, char**) {
4848
// Test with an overaligned type
4949
{
5050
new_called = delete_called = 0;
51-
OverAligned* x = new OverAligned;
51+
OverAligned* dummy_data_block = new OverAligned;
52+
OverAligned* x = DoNotOptimize(dummy_data_block);
5253
assert(static_cast<void*>(x) == DummyData);
5354
assert(new_called == 1);
5455

55-
delete x;
56+
delete dummy_data_block;
5657
assert(delete_called == 1);
5758
}
5859

libcxx/test/std/language.support/support.dynamic/new.delete/new.delete.single/new.size_align_nothrow.replace.indirect.pass.cpp

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -54,11 +54,12 @@ int main(int, char**) {
5454
// Test with an overaligned type
5555
{
5656
new_called = delete_called = 0;
57-
OverAligned* x = DoNotOptimize(new (std::nothrow) OverAligned);
57+
OverAligned* dummy_data_block = new (std::nothrow) OverAligned;
58+
OverAligned* x = DoNotOptimize(dummy_data_block);
5859
ASSERT_WITH_OPERATOR_NEW_FALLBACKS(static_cast<void*>(x) == DummyData);
5960
ASSERT_WITH_OPERATOR_NEW_FALLBACKS(new_called == 1);
6061

61-
delete x;
62+
delete dummy_data_block;
6263
ASSERT_WITH_OPERATOR_NEW_FALLBACKS(delete_called == 1);
6364
}
6465

libcxx/test/std/language.support/support.dynamic/new.delete/new.delete.single/new.size_align_nothrow.replace.pass.cpp

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -47,11 +47,12 @@ int main(int, char**) {
4747
// Test with an overaligned type
4848
{
4949
new_nothrow_called = delete_called = 0;
50-
OverAligned* x = new (std::nothrow) OverAligned;
50+
OverAligned* dummy_data_block = new (std::nothrow) OverAligned;
51+
OverAligned* x = DoNotOptimize(dummy_data_block);
5152
assert(static_cast<void*>(x) == DummyData);
5253
ASSERT_WITH_OPERATOR_NEW_FALLBACKS(new_nothrow_called == 1);
5354

54-
delete x;
55+
delete dummy_data_block;
5556
ASSERT_WITH_OPERATOR_NEW_FALLBACKS(delete_called == 1);
5657
}
5758

0 commit comments

Comments
 (0)