summaryrefslogtreecommitdiffstats
path: root/clang/test/SemaObjC/deprecate_function_containers.m
diff options
context:
space:
mode:
authorFariborz Jahanian <fjahanian@apple.com>2014-05-28 17:02:35 +0000
committerFariborz Jahanian <fjahanian@apple.com>2014-05-28 17:02:35 +0000
commit3451df8f5dfc1a7a742ac32b50ca7420e0f939c0 (patch)
treecac7674d99171a75ba01b56d6f21eccbbf0bbf89 /clang/test/SemaObjC/deprecate_function_containers.m
parent34558184a06849488c5165605e7edf5424b2cf1b (diff)
downloadbcm5719-llvm-3451df8f5dfc1a7a742ac32b50ca7420e0f939c0.tar.gz
bcm5719-llvm-3451df8f5dfc1a7a742ac32b50ca7420e0f939c0.zip
Objective-C. Deprecate use of function definitions
in Objective-C container declarations (but not in their definitions. // rdar://10414277 llvm-svn: 209751
Diffstat (limited to 'clang/test/SemaObjC/deprecate_function_containers.m')
-rw-r--r--clang/test/SemaObjC/deprecate_function_containers.m25
1 files changed, 25 insertions, 0 deletions
diff --git a/clang/test/SemaObjC/deprecate_function_containers.m b/clang/test/SemaObjC/deprecate_function_containers.m
new file mode 100644
index 00000000000..4bee7423821
--- /dev/null
+++ b/clang/test/SemaObjC/deprecate_function_containers.m
@@ -0,0 +1,25 @@
+// RUN: %clang_cc1 -fsyntax-only -verify -Wno-objc-root-class %s
+// rdar://10414277
+
+@protocol P
+void p_foo() {} // expected-warning {{function definition inside an Objective-C container is deprecated}}
+@end
+
+@interface I
+void foo() {} // expected-warning {{function definition inside an Objective-C container is deprecated}}
+inline void v_foo() {} // expected-warning {{function definition inside an Objective-C container is deprecated}}
+static int s_foo() {return 0; } // expected-warning {{function definition inside an Objective-C container is deprecated}}
+static inline int si_val() { return 1; } // expected-warning {{function definition inside an Objective-C container is deprecated}}
+@end
+
+@interface I(CAT)
+void cat_foo() {} // expected-warning {{function definition inside an Objective-C container is deprecated}}
+@end
+
+@implementation I
+inline void v_imp_foo() {}
+@end
+
+@implementation I(CAT)
+void cat_imp_foo() {}
+@end
OpenPOWER on IntegriCloud