commit | f25935a000917f2c06b52bbc7273e20a82543782 | [log] [tgz] |
---|---|---|
author | Fabian Wolff <fabian.wolff@alumni.ethz.ch> | Wed Apr 20 16:52:23 2022 +0200 |
committer | Fabian Wolff <fabian.wolff@alumni.ethz.ch> | Wed Apr 20 16:55:29 2022 +0200 |
tree | df50088086029680636e48c8d8a091cda5eebbf0 | |
parent | d7938b1a817006388f95de5ea2ee74daa7cde892 [diff] [blame] |
[clang-tidy] Fix `altera-struct-pack-align` check for empty structs Fixes https://github.com/llvm/llvm-project/issues/50962. Reviewed By: whisperity, aaron.ballman Differential Revision: https://reviews.llvm.org/D114292
diff --git a/clang-tools-extra/clang-tidy/altera/StructPackAlignCheck.cpp b/clang-tools-extra/clang-tidy/altera/StructPackAlignCheck.cpp index 6ae5351..b5f8d08 100644 --- a/clang-tools-extra/clang-tidy/altera/StructPackAlignCheck.cpp +++ b/clang-tools-extra/clang-tidy/altera/StructPackAlignCheck.cpp
@@ -77,7 +77,8 @@ uint64_t CharSize = Result.Context->getCharWidth(); CharUnits CurrSize = Result.Context->getASTRecordLayout(Struct).getSize(); CharUnits MinByteSize = - CharUnits::fromQuantity(ceil((float)TotalBitSize / CharSize)); + CharUnits::fromQuantity(std::max<clang::CharUnits::QuantityType>( + ceil(static_cast<float>(TotalBitSize) / CharSize), 1)); CharUnits MaxAlign = CharUnits::fromQuantity( ceil((float)Struct->getMaxAlignment() / CharSize)); CharUnits CurrAlign =