From 3d9389cfb1b0ea39a249033924ccfeaba96a9dbe Mon Sep 17 00:00:00 2001 From: William Dillon Date: Sun, 14 Feb 2016 21:40:43 +0000 Subject: [PATCH] Added test for CF_ENUM/CF_OPTIONS on non-Darwin targets --- test/ClangModules/Inputs/enum-c.h | 11 +++++++++++ test/ClangModules/enum-c.swift | 9 +++++++++ 2 files changed, 20 insertions(+) create mode 100644 test/ClangModules/Inputs/enum-c.h create mode 100644 test/ClangModules/enum-c.swift diff --git a/test/ClangModules/Inputs/enum-c.h b/test/ClangModules/Inputs/enum-c.h new file mode 100644 index 0000000000000..0da999448eb8e --- /dev/null +++ b/test/ClangModules/Inputs/enum-c.h @@ -0,0 +1,11 @@ +typedef long NSInteger; + +#define SWIFT_ENUM_EXTRA +#define SWIFT_COMPILE_NAME(X) __attribute__((swift_name(X))) +#define SWIFT_ENUM_NAMED(_type, _name, SWIFT_NAME) enum _name : _type _name SWIFT_COMPILE_NAME(SWIFT_NAME); enum SWIFT_COMPILE_NAME(SWIFT_NAME) SWIFT_ENUM_EXTRA _name : _type + +typedef SWIFT_ENUM_NAMED(NSInteger, CEnum, "SwiftEnum") { + CEnumOne = 1, + CEnumTwo, + CEnumThree +}; diff --git a/test/ClangModules/enum-c.swift b/test/ClangModules/enum-c.swift new file mode 100644 index 0000000000000..2f94f1105a36d --- /dev/null +++ b/test/ClangModules/enum-c.swift @@ -0,0 +1,9 @@ +// RUN: %target-swift-frontend -emit-sil %s -import-objc-header %S/Inputs/enum-c.h -verify + +func test(value: SwiftEnum) { + switch value { + case .One: break + case .Two: break + case .Three: break + } // no error +}