[flang-commits] [flang] [mlir] [flang][AIX] BIND(C) derived type alignment for AIX (PR #121505)
via flang-commits
flang-commits at lists.llvm.org
Thu Jan 2 09:22:50 PST 2025
github-actions[bot] wrote:
<!--LLVM CODE FORMAT COMMENT: {clang-format}-->
:warning: C/C++ code formatter, clang-format found issues in your code. :warning:
<details>
<summary>
You can test this locally with the following command:
</summary>
``````````bash
git-clang-format --diff a9a3fb5b1a23e336a1656046ba1a36832e020d4e aefe5ee2d158cf4a82c8ff039884baa91f8829b5 --extensions h,cpp -- flang/include/flang/Optimizer/CodeGen/TypeConverter.h flang/lib/Lower/ConvertType.cpp flang/lib/Optimizer/CodeGen/TypeConverter.cpp flang/lib/Optimizer/Dialect/FIRType.cpp flang/lib/Semantics/compute-offsets.cpp mlir/include/mlir/Transforms/DialectConversion.h
``````````
</details>
<details>
<summary>
View the diff from clang-format here.
</summary>
``````````diff
diff --git a/flang/lib/Semantics/compute-offsets.cpp b/flang/lib/Semantics/compute-offsets.cpp
index 7d516b3e8d..31bce0ae92 100644
--- a/flang/lib/Semantics/compute-offsets.cpp
+++ b/flang/lib/Semantics/compute-offsets.cpp
@@ -53,8 +53,8 @@ private:
SymbolAndOffset Resolve(const SymbolAndOffset &);
std::size_t ComputeOffset(const EquivalenceObject &);
// Returns amount of padding that was needed for alignment
- std::size_t DoSymbol(Symbol &,
- std::optional<const size_t> newAlign = std::nullopt);
+ std::size_t DoSymbol(
+ Symbol &, std::optional<const size_t> newAlign = std::nullopt);
SizeAndAlignment GetSizeAndAlignment(const Symbol &, bool entire);
std::size_t Align(std::size_t, std::size_t);
std::optional<size_t> CompAlignment(const Symbol &);
@@ -72,8 +72,8 @@ private:
static bool isReal8OrLarger(const Fortran::semantics::DeclTypeSpec *type) {
return ((type->IsNumeric(common::TypeCategory::Real) ||
- type->IsNumeric(common::TypeCategory::Complex)) &&
- evaluate::ToInt64(type->numericTypeSpec().kind()) > 4);
+ type->IsNumeric(common::TypeCategory::Complex)) &&
+ evaluate::ToInt64(type->numericTypeSpec().kind()) > 4);
}
std::optional<size_t> ComputeOffsetsHelper::CompAlignment(const Symbol &sym) {
@@ -104,8 +104,8 @@ std::optional<size_t> ComputeOffsetsHelper::CompAlignment(const Symbol &sym) {
return std::nullopt;
}
-std::optional<size_t> ComputeOffsetsHelper::HasSpecialAlign(const Symbol &sym,
- Scope &scope) {
+std::optional<size_t> ComputeOffsetsHelper::HasSpecialAlign(
+ const Symbol &sym, Scope &scope) {
// On AIX, if the component that is not the first component and is
// a float of 8 bytes or larger, it has the 4-byte alignment.
// Only set the special alignment for bind(c) derived type on that platform.
@@ -175,8 +175,8 @@ void ComputeOffsetsHelper::Compute(Scope &scope) {
std::optional<size_t> newAlign{std::nullopt};
// Handle special alignment requirement for AIX
- auto triple{llvm::Triple(llvm::Triple::normalize(
- llvm::sys::getDefaultTargetTriple()))};
+ auto triple{llvm::Triple(
+ llvm::Triple::normalize(llvm::sys::getDefaultTargetTriple()))};
if (triple.getOS() == llvm::Triple::OSType::AIX) {
newAlign = HasSpecialAlign(*symbol, scope);
}
@@ -380,8 +380,8 @@ std::size_t ComputeOffsetsHelper::ComputeOffset(
return result;
}
-std::size_t ComputeOffsetsHelper::DoSymbol(Symbol &symbol,
- std::optional<const size_t> newAlign) {
+std::size_t ComputeOffsetsHelper::DoSymbol(
+ Symbol &symbol, std::optional<const size_t> newAlign) {
if (!symbol.has<ObjectEntityDetails>() && !symbol.has<ProcEntityDetails>()) {
return 0;
}
``````````
</details>
https://github.com/llvm/llvm-project/pull/121505
More information about the flang-commits
mailing list