Author: Akira Hatanaka Date: 2020-11-10T18:52:12-08:00 New Revision: d9258a21f03811a9e231c2ec338822de84d55eef
URL: https://github.com/llvm/llvm-project/commit/d9258a21f03811a9e231c2ec338822de84d55eef DIFF: https://github.com/llvm/llvm-project/commit/d9258a21f03811a9e231c2ec338822de84d55eef.diff LOG: Fix the data layout mangling specification for 'arm64-pc-win32-macho' rdar://problem/70410504 Added: Modified: clang/lib/Basic/Targets/AArch64.cpp clang/test/CodeGen/target-data.c Removed: ################################################################################ diff --git a/clang/lib/Basic/Targets/AArch64.cpp b/clang/lib/Basic/Targets/AArch64.cpp index e25a783cfa66..8e0fc5fa621e 100644 --- a/clang/lib/Basic/Targets/AArch64.cpp +++ b/clang/lib/Basic/Targets/AArch64.cpp @@ -759,7 +759,9 @@ WindowsARM64TargetInfo::WindowsARM64TargetInfo(const llvm::Triple &Triple, } void WindowsARM64TargetInfo::setDataLayout() { - resetDataLayout("e-m:w-p:64:64-i32:32-i64:64-i128:128-n32:64-S128"); + resetDataLayout(Triple.isOSBinFormatMachO() + ? "e-m:o-i64:64-i128:128-n32:64-S128" + : "e-m:w-p:64:64-i32:32-i64:64-i128:128-n32:64-S128"); } TargetInfo::BuiltinVaListKind diff --git a/clang/test/CodeGen/target-data.c b/clang/test/CodeGen/target-data.c index a8e995d2963a..75282846381f 100644 --- a/clang/test/CodeGen/target-data.c +++ b/clang/test/CodeGen/target-data.c @@ -191,6 +191,10 @@ // RUN: FileCheck %s -check-prefix=AARCH64-ILP32 // AARCH64-ILP32: target datalayout = "e-m:o-p:32:32-i64:64-i128:128-n32:64-S128" +// RUN: %clang_cc1 -triple arm64-pc-win32-macho -o - -emit-llvm %s | \ +// RUN: FileCheck %s -check-prefix=AARCH64-WIN32-MACHO +// AARCH64-WIN32-MACHO: target datalayout = "e-m:o-i64:64-i128:128-n32:64-S128" + // RUN: %clang_cc1 -triple thumb-unknown-gnueabi -o - -emit-llvm %s | \ // RUN: FileCheck %s -check-prefix=THUMB // THUMB: target datalayout = "e-m:e-p:32:32-Fi8-i64:64-v128:64:128-a:0:32-n32-S64" _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits