[cfe-commits] r155585 - in /cfe/trunk/test/Rewriter: rewrite-byref-in-nested-blocks.mm rewrite-modern-block-consts.mm rewrite-modern-captured-nested-bvar.mm rewrite-modern-extern-c-func-decl.mm rewrite-rewritten-initializer.mm
Fariborz Jahanian
fjahanian at apple.com
Wed Apr 25 13:48:00 PDT 2012
Author: fjahanian
Date: Wed Apr 25 15:48:00 2012
New Revision: 155585
URL: http://llvm.org/viewvc/llvm-project?rev=155585&view=rev
Log:
objective-c modern translator: more tests.
Added:
cfe/trunk/test/Rewriter/rewrite-modern-block-consts.mm
cfe/trunk/test/Rewriter/rewrite-modern-captured-nested-bvar.mm
Modified:
cfe/trunk/test/Rewriter/rewrite-byref-in-nested-blocks.mm
cfe/trunk/test/Rewriter/rewrite-modern-extern-c-func-decl.mm
cfe/trunk/test/Rewriter/rewrite-rewritten-initializer.mm
Modified: cfe/trunk/test/Rewriter/rewrite-byref-in-nested-blocks.mm
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/test/Rewriter/rewrite-byref-in-nested-blocks.mm?rev=155585&r1=155584&r2=155585&view=diff
==============================================================================
--- cfe/trunk/test/Rewriter/rewrite-byref-in-nested-blocks.mm (original)
+++ cfe/trunk/test/Rewriter/rewrite-byref-in-nested-blocks.mm Wed Apr 25 15:48:00 2012
@@ -1,7 +1,7 @@
// RUN: %clang_cc1 -x objective-c++ -Wno-return-type -fblocks -fms-extensions -rewrite-objc -fobjc-fragile-abi %s -o %t-rw.cpp
// RUN: %clang_cc1 -fsyntax-only -fblocks -Wno-address-of-temporary -D"SEL=void*" -D"__declspec(X)=" %t-rw.cpp
// RUN: %clang_cc1 -x objective-c++ -Wno-return-type -fblocks -fms-extensions -rewrite-objc %s -o %t-modern-rw.cpp
-// RUN: %clang_cc1 -fsyntax-only -Wno-address-of-temporary -D"SEL=void*" -D"__declspec(X)=" %t-modern-rw.cpp
+// RUN: %clang_cc1 -fsyntax-only -Werror -Wno-address-of-temporary -D"SEL=void*" -D"__declspec(X)=" %t-modern-rw.cpp
// radar 7692350
void f(void (^block)(void));
Added: cfe/trunk/test/Rewriter/rewrite-modern-block-consts.mm
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/test/Rewriter/rewrite-modern-block-consts.mm?rev=155585&view=auto
==============================================================================
--- cfe/trunk/test/Rewriter/rewrite-modern-block-consts.mm (added)
+++ cfe/trunk/test/Rewriter/rewrite-modern-block-consts.mm Wed Apr 25 15:48:00 2012
@@ -0,0 +1,19 @@
+// RUN: %clang_cc1 -x objective-c++ -Wno-return-type -fblocks -fms-extensions -rewrite-objc %s -o %t-modern-rw.cpp
+// RUN: %clang_cc1 -fsyntax-only -Werror -Wno-address-of-temporary -D"__declspec(X)=" %t-modern-rw.cpp
+// rdar:// 8243071
+
+void x(int y) {}
+void f() {
+ const int bar = 3;
+ int baz = 4;
+ __block int bab = 4;
+ __block const int bas = 5;
+ void (^b)() = ^{
+ x(bar);
+ x(baz);
+ x(bab);
+ x(bas);
+ b();
+ };
+ b();
+}
Added: cfe/trunk/test/Rewriter/rewrite-modern-captured-nested-bvar.mm
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/test/Rewriter/rewrite-modern-captured-nested-bvar.mm?rev=155585&view=auto
==============================================================================
--- cfe/trunk/test/Rewriter/rewrite-modern-captured-nested-bvar.mm (added)
+++ cfe/trunk/test/Rewriter/rewrite-modern-captured-nested-bvar.mm Wed Apr 25 15:48:00 2012
@@ -0,0 +1,35 @@
+// RUN: %clang_cc1 -E %s -o %t.mm
+// RUN: %clang_cc1 -x objective-c++ -fblocks -fms-extensions -rewrite-objc %t.mm -o - | FileCheck %s
+// rdar://9006279
+
+void q(void (^p)(void)) {
+ p();
+}
+
+void f() {
+ __block char BYREF_VAR_CHECK = 'a';
+ __block char d = 'd';
+ q(^{
+ q(^{
+ __block char e = 'e';
+ char l = 'l';
+ BYREF_VAR_CHECK = 'b';
+ d = 'd';
+ q(^{
+ e = '1';
+ BYREF_VAR_CHECK = '2';
+ d = '3';
+ }
+ );
+ });
+ });
+}
+
+int main() {
+ f();
+ return 0;
+}
+
+// CHECK 2: (__Block_byref_BYREF_VAR_CHECK_0 *)BYREF_VAR_CHECK
+// CHECK: {(void*)0,(__Block_byref_BYREF_VAR_CHECK_0 *)&BYREF_VAR_CHECK, 0, sizeof(__Block_byref_BYREF_VAR_CHECK_0), 'a'}
+// CHECK: __Block_byref_BYREF_VAR_CHECK_0 *)&BYREF_VAR_CHECK, (__Block_byref_d_1 *)&d, 570425344));
Modified: cfe/trunk/test/Rewriter/rewrite-modern-extern-c-func-decl.mm
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/test/Rewriter/rewrite-modern-extern-c-func-decl.mm?rev=155585&r1=155584&r2=155585&view=diff
==============================================================================
--- cfe/trunk/test/Rewriter/rewrite-modern-extern-c-func-decl.mm (original)
+++ cfe/trunk/test/Rewriter/rewrite-modern-extern-c-func-decl.mm Wed Apr 25 15:48:00 2012
@@ -70,3 +70,27 @@
// rdar://11314329
static inline const void *auto_zone_base_pointer(void *zone, const void *ptr) { return 0; }
+
+ at interface I
+{
+ id list;
+}
+- (void) Meth;
+// radar 7589385 use before definition
+- (void) allObjects;
+ at end
+
+ at implementation I
+// radar 7589385 use before definition
+- (void) allObjects {
+ __attribute__((__blocks__(byref))) id *listp;
+
+ void (^B)(void) = ^(void) {
+ *listp++ = 0;
+ };
+
+ B();
+}
+- (void) Meth { __attribute__((__blocks__(byref))) void ** listp = (void **)list; }
+ at end
+
Modified: cfe/trunk/test/Rewriter/rewrite-rewritten-initializer.mm
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/test/Rewriter/rewrite-rewritten-initializer.mm?rev=155585&r1=155584&r2=155585&view=diff
==============================================================================
--- cfe/trunk/test/Rewriter/rewrite-rewritten-initializer.mm (original)
+++ cfe/trunk/test/Rewriter/rewrite-rewritten-initializer.mm Wed Apr 25 15:48:00 2012
@@ -1,5 +1,7 @@
// RUN: %clang_cc1 -x objective-c++ -Wno-return-type -fblocks -fms-extensions -rewrite-objc -fobjc-fragile-abi %s -o %t-rw.cpp
// RUN: %clang_cc1 -fsyntax-only -Wno-address-of-temporary -D"SEL=void*" -D"__declspec(X)=" %t-rw.cpp
+// RUN: %clang_cc1 -x objective-c++ -Wno-return-type -fblocks -fms-extensions -rewrite-objc %s -o %t-rw-modern.cpp
+// RUN: %clang_cc1 -fsyntax-only -Werror -Wno-address-of-temporary -D"SEL=void*" -D"__declspec(X)=" %t-rw-modern.cpp
// radar 7669784
typedef void * id;
More information about the cfe-commits
mailing list