From: Bradley Smith Date: Mon, 20 Jan 2014 10:52:00 +0000 (+0000) Subject: [ARM] Add ACLE enum/wchar size predefines X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=f35eeda5f4574410d2ec2fc9e0d6bf0833e19139;p=clang [ARM] Add ACLE enum/wchar size predefines git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@199642 91177308-0d34-0410-b5e6-96231b3b80d8 --- diff --git a/lib/Basic/Targets.cpp b/lib/Basic/Targets.cpp index 65864cd1d0..72f66416fb 100644 --- a/lib/Basic/Targets.cpp +++ b/lib/Basic/Targets.cpp @@ -4028,6 +4028,12 @@ public: Builder.defineMacro("__ARM_NEON__"); } + Builder.defineMacro("__ARM_SIZEOF_WCHAR_T", + Opts.ShortWChar ? "2" : "4"); + + Builder.defineMacro("__ARM_SIZEOF_MINIMAL_ENUM", + Opts.ShortEnums ? "1" : "4"); + if (CRC) Builder.defineMacro("__ARM_FEATURE_CRC32"); diff --git a/test/Preprocessor/arm-target-features.c b/test/Preprocessor/arm-target-features.c index 4d40bcb3c6..c8aeb1ef70 100644 --- a/test/Preprocessor/arm-target-features.c +++ b/test/Preprocessor/arm-target-features.c @@ -68,6 +68,15 @@ // RUN: %clang -target armv8a-eabi -x c -E -dM %s -o - | FileCheck --check-prefix=THUMBV8A-EABI %s // THUMBV8A-EABI:#define __ARM_ARCH_EXT_IDIV__ 1 +// RUN: %clang -target arm-none-linux-gnu -x c -E -dM %s -o - | FileCheck --check-prefix=CHECK-DEFS %s +// CHECK-DEFS:#define __ARM_SIZEOF_MINIMAL_ENUM 4 +// CHECK-DEFS:#define __ARM_SIZEOF_WCHAR_T 4 + +// RUN: %clang -target arm-none-linux-gnu -fshort-wchar -x c -E -dM %s -o - | FileCheck --check-prefix=CHECK-SHORTWCHAR %s +// CHECK-SHORTWCHAR:#define __ARM_SIZEOF_WCHAR_T 2 + +// RUN: %clang -target arm-none-linux-gnu -fshort-enums -x c -E -dM %s -o - | FileCheck --check-prefix=CHECK-SHORTENUMS %s +// CHECK-SHORTENUMS:#define __ARM_SIZEOF_MINIMAL_ENUM 1 // Test that -mhwdiv has the right effect for a target CPU which has hwdiv enabled by default. // RUN: %clang -target armv7 -mcpu=cortex-a15 -x c -E -dM %s -o - | FileCheck --check-prefix=DEFAULTHWDIV-ARM %s