Mercurial > hg > CbC > CbC_llvm
view clang/test/SemaObjC/attr-swift_bridge.m @ 207:2e18cbf3894f
LLVM12
author | Shinji KONO <kono@ie.u-ryukyu.ac.jp> |
---|---|
date | Tue, 08 Jun 2021 06:07:14 +0900 |
parents | |
children |
line wrap: on
line source
// RUN: %clang_cc1 -verify -fsyntax-only %s // expected-error@+1 {{'__swift_bridge__' attribute takes one argument}} __attribute__((__swift_bridge__)) @interface I @end // expected-error@+1 {{'__swift_bridge__' attribute requires a string}} __attribute__((__swift_bridge__(1))) @interface J @end // expected-error@+1 {{'__swift_bridge__' attribute takes one argument}} __attribute__((__swift_bridge__("K", 1))) @interface K @end @interface L // expected-error@+1 {{'__swift_bridge__' attribute only applies to tag types, typedefs, Objective-C interfaces, and Objective-C protocols}} - (void)method __attribute__((__swift_bridge__("method"))); @end __attribute__((__swift_bridge__("Array"))) @interface NSArray @end __attribute__((__swift_bridge__("ProtocolP"))) @protocol P @end typedef NSArray *NSArrayAlias __attribute__((__swift_bridge__("ArrayAlias"))); struct __attribute__((__swift_bridge__("StructT"))) T {}; // Duplicate attributes with the same arguments are fine. struct __attribute__((swift_bridge("foo"), swift_bridge("foo"))) S; // Duplicate attributes with different arguments are not. struct __attribute__((swift_bridge("foo"), swift_bridge("bar"))) S; // expected-warning {{attribute 'swift_bridge' is already applied with different arguments}}