forked from OSchip/llvm-project
Explicitly construct ArrayRef in AttributeTest.cpp
Some compilers find initializer list constructors from boolean literals ambiguous between ArrayRef<bool> and ArrayRef<Attribute>. Call the ArrayRef<bool> constructor explicitly to disambiguate. PiperOrigin-RevId: 253224859
This commit is contained in:
parent
ee6f84aebd
commit
b582338f62
|
@ -43,19 +43,23 @@ TEST(DenseSplatTest, BoolSplat) {
|
|||
|
||||
// Check that splat is automatically detected for boolean values.
|
||||
/// True.
|
||||
DenseElementsAttr trueSplat = DenseElementsAttr::get(shape, true);
|
||||
DenseElementsAttr trueSplat =
|
||||
DenseElementsAttr::get(shape, llvm::ArrayRef<bool>(true));
|
||||
EXPECT_TRUE(trueSplat.isSplat());
|
||||
/// False.
|
||||
DenseElementsAttr falseSplat = DenseElementsAttr::get(shape, false);
|
||||
DenseElementsAttr falseSplat =
|
||||
DenseElementsAttr::get(shape, llvm::ArrayRef<bool>(false));
|
||||
EXPECT_TRUE(falseSplat.isSplat());
|
||||
EXPECT_NE(falseSplat, trueSplat);
|
||||
|
||||
/// Detect and handle splat within 8 elements (bool values are bit-packed).
|
||||
/// True.
|
||||
auto detectedSplat = DenseElementsAttr::get(shape, {true, true, true, true});
|
||||
auto detectedSplat = DenseElementsAttr::get(
|
||||
shape, llvm::ArrayRef<bool>({true, true, true, true}));
|
||||
EXPECT_EQ(detectedSplat, trueSplat);
|
||||
/// False.
|
||||
detectedSplat = DenseElementsAttr::get(shape, {false, false, false, false});
|
||||
detectedSplat = DenseElementsAttr::get(
|
||||
shape, llvm::ArrayRef<bool>({false, false, false, false}));
|
||||
EXPECT_EQ(detectedSplat, falseSplat);
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in New Issue