diff --git a/lib/Basic/Targets.cpp b/lib/Basic/Targets.cpp index 7ec06bb17e3fdae7e96810bb8e1600b771124110..7795fc87b1fb70c77a8a130eb53ac04b3a2bf914 100644 --- a/lib/Basic/Targets.cpp +++ b/lib/Basic/Targets.cpp @@ -8170,6 +8170,8 @@ static TargetInfo *AllocateTarget(const llvm::Triple &Triple, return new DarwinARMTargetInfo(Triple, Opts); switch (os) { + case llvm::Triple::CloudABI: + return new CloudABITargetInfo<ARMleTargetInfo>(Triple, Opts); case llvm::Triple::Linux: return new LinuxTargetInfo<ARMleTargetInfo>(Triple, Opts); case llvm::Triple::FreeBSD: diff --git a/test/Preprocessor/init.c b/test/Preprocessor/init.c index f7c320b7226b8e1ad6d2ee185952901882eeeb5c..adf5c778767e35570009fb54f1bc3f4be0ecd881 100644 --- a/test/Preprocessor/init.c +++ b/test/Preprocessor/init.c @@ -1975,6 +1975,11 @@ // ARMEABIHARDFP:#define __arm 1 // ARMEABIHARDFP:#define __arm__ 1 +// RUN: %clang_cc1 -E -dM -ffreestanding -triple=armv6-unknown-cloudabi-eabihf < /dev/null | FileCheck -match-full-lines -check-prefix ARMV6-CLOUDABI %s +// +// ARMV6-CLOUDABI:#define __CloudABI__ 1 +// ARMV6-CLOUDABI:#define __arm__ 1 + // RUN: %clang_cc1 -E -dM -ffreestanding -triple=arm-netbsd-eabi < /dev/null | FileCheck -match-full-lines -check-prefix ARM-NETBSD %s // // ARM-NETBSD-NOT:#define _LP64