Skip to content

Commit fa85278

Browse files
committed
Fix more ArrayRef problems in ImmutablePointerSetTests unit tests.
These are more instances of the problem with ArrayRef capturing a reference to a temporary. The problem is exposed when compiling with a recent version of clang. rdar://problem/28700044
1 parent a4dd11c commit fa85278

File tree

1 file changed

+6
-6
lines changed

1 file changed

+6
-6
lines changed

unittests/Basic/ImmutablePointerSetTests.cpp

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -49,7 +49,7 @@ TEST(ImmutablePointerSet, MultipleElementSets) {
4949
unsigned *Ptr3 = (unsigned *)3;
5050
unsigned *Ptr4 = (unsigned *)5;
5151
unsigned *Ptr5 = (unsigned *)6;
52-
ArrayRef<unsigned *> Data1 = {Ptr1, Ptr2};
52+
SmallVector<unsigned *, 2> Data1 = {Ptr1, Ptr2};
5353

5454
auto *TwoEltSet = F.get(Data1);
5555
EXPECT_FALSE(TwoEltSet->empty());
@@ -71,7 +71,7 @@ TEST(ImmutablePointerSet, MultipleElementSets) {
7171
EXPECT_FALSE(ThreeEltSet->count(Ptr5));
7272
EXPECT_EQ(ThreeEltSet, F.merge(TwoEltSet, ThreeEltSet));
7373

74-
ArrayRef<unsigned *> Data2 = {Ptr3, Ptr4, Ptr5};
74+
SmallVector<unsigned *, 3> Data2 = {Ptr3, Ptr4, Ptr5};
7575
auto *PartialOverlapSet = F.get(Data2);
7676
EXPECT_FALSE(PartialOverlapSet->empty());
7777
EXPECT_EQ(PartialOverlapSet->size(), 3u);
@@ -106,10 +106,10 @@ TEST(ImmutablePointerSet, EmptyIntersectionTests) {
106106
unsigned *Ptr4 = (unsigned *)5;
107107
unsigned *Ptr5 = (unsigned *)6;
108108

109-
ArrayRef<unsigned *> Data1 = {Ptr1, Ptr2};
110-
ArrayRef<unsigned *> Data2 = {Ptr3, Ptr2};
111-
ArrayRef<unsigned *> Data3 = {Ptr4, Ptr5};
112-
ArrayRef<unsigned *> Data4 = {Ptr2, Ptr4};
109+
SmallVector<unsigned *, 2> Data1 = {Ptr1, Ptr2};
110+
SmallVector<unsigned *, 2> Data2 = {Ptr3, Ptr2};
111+
SmallVector<unsigned *, 2> Data3 = {Ptr4, Ptr5};
112+
SmallVector<unsigned *, 2> Data4 = {Ptr2, Ptr4};
113113

114114
EXPECT_FALSE(F.get(Data1)->hasEmptyIntersection(F.get(Data2)));
115115
EXPECT_TRUE(F.get(Data1)->hasEmptyIntersection(F.get(Data3)));

0 commit comments

Comments
 (0)