diff options
author | Dimitry Andric <dim@FreeBSD.org> | 2023-02-11 12:38:04 +0000 |
---|---|---|
committer | Dimitry Andric <dim@FreeBSD.org> | 2023-02-11 12:38:11 +0000 |
commit | e3b557809604d036af6e00c60f012c2025b59a5e (patch) | |
tree | 8a11ba2269a3b669601e2fd41145b174008f4da8 /llvm/lib/Linker/LinkModules.cpp | |
parent | 08e8dd7b9db7bb4a9de26d44c1cbfd24e869c014 (diff) |
Diffstat (limited to 'llvm/lib/Linker/LinkModules.cpp')
-rw-r--r-- | llvm/lib/Linker/LinkModules.cpp | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/llvm/lib/Linker/LinkModules.cpp b/llvm/lib/Linker/LinkModules.cpp index 17c3f09a23b7..2f5fac4951f2 100644 --- a/llvm/lib/Linker/LinkModules.cpp +++ b/llvm/lib/Linker/LinkModules.cpp @@ -352,8 +352,12 @@ bool ModuleLinker::linkIfNeeded(GlobalValue &GV, SGVar->setConstant(false); } if (DGVar->hasCommonLinkage() && SGVar->hasCommonLinkage()) { - MaybeAlign Align( - std::max(DGVar->getAlignment(), SGVar->getAlignment())); + MaybeAlign DAlign = DGVar->getAlign(); + MaybeAlign SAlign = SGVar->getAlign(); + MaybeAlign Align = std::nullopt; + if (DAlign || SAlign) + Align = std::max(DAlign.valueOrOne(), SAlign.valueOrOne()); + SGVar->setAlignment(Align); DGVar->setAlignment(Align); } |