diff --git a/llvm/unittests/Support/AlignmentTest.cpp b/llvm/unittests/Support/AlignmentTest.cpp --- a/llvm/unittests/Support/AlignmentTest.cpp +++ b/llvm/unittests/Support/AlignmentTest.cpp @@ -247,9 +247,19 @@ TEST(AlignmentDeathTest, Division) { EXPECT_DEATH(Align(1) / 2, "Can't halve byte alignment"); EXPECT_DEATH(MaybeAlign(1) / 2, "Can't halve byte alignment"); + EXPECT_DEATH(Align(8) / 3, "Divisor must be positive and a power of 2"); +} +TEST(AlignmentDeathTest, DivisionbyZero) { +#ifdef _MSC_VER +// Disable warnings about potential divide by 0. +#pragma warning(push) +#pragma warning(disable : 4723) +#endif EXPECT_DEATH(Align(8) / 0, "Divisor must be positive and a power of 2"); - EXPECT_DEATH(Align(8) / 3, "Divisor must be positive and a power of 2"); +#ifdef _MSC_VER +#pragma warning(pop) +#endif } TEST(AlignmentDeathTest, InvalidCTors) {