[llvm-commits] [llvm-gcc-4.2] r48039 - in /llvm-gcc-4.2/trunk/gcc/testsuite/llvm.objc: ./ 2007-04-03-ObjcEH.m 2007-05-02-Strong.m 2007-09-25-EH.m 2007-10-17-SJLJExceptions.m 2007-10-18-ProDescriptor.m 2007-10-23-GC-WriteBarrier.m llvmobjc.exp
Devang Patel
dpatel at apple.com
Fri Mar 7 15:48:51 PST 2008
Author: dpatel
Date: Fri Mar 7 17:48:51 2008
New Revision: 48039
URL: http://llvm.org/viewvc/llvm-project?rev=48039&view=rev
Log:
Copy objective-c FE tests from llvm module.
Added:
llvm-gcc-4.2/trunk/gcc/testsuite/llvm.objc/
llvm-gcc-4.2/trunk/gcc/testsuite/llvm.objc/2007-04-03-ObjcEH.m
llvm-gcc-4.2/trunk/gcc/testsuite/llvm.objc/2007-05-02-Strong.m
llvm-gcc-4.2/trunk/gcc/testsuite/llvm.objc/2007-09-25-EH.m
llvm-gcc-4.2/trunk/gcc/testsuite/llvm.objc/2007-10-17-SJLJExceptions.m
llvm-gcc-4.2/trunk/gcc/testsuite/llvm.objc/2007-10-18-ProDescriptor.m
llvm-gcc-4.2/trunk/gcc/testsuite/llvm.objc/2007-10-23-GC-WriteBarrier.m
llvm-gcc-4.2/trunk/gcc/testsuite/llvm.objc/llvmobjc.exp
Added: llvm-gcc-4.2/trunk/gcc/testsuite/llvm.objc/2007-04-03-ObjcEH.m
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/gcc/testsuite/llvm.objc/2007-04-03-ObjcEH.m?rev=48039&view=auto
==============================================================================
--- llvm-gcc-4.2/trunk/gcc/testsuite/llvm.objc/2007-04-03-ObjcEH.m (added)
+++ llvm-gcc-4.2/trunk/gcc/testsuite/llvm.objc/2007-04-03-ObjcEH.m Fri Mar 7 17:48:51 2008
@@ -0,0 +1,29 @@
+/* { dg-do compile } */
+
+ at interface B
+-(int)bar;
+ at end
+
+ at interface A
+-(void) Foo:(int) state;
+ at end
+
+ at implementation A
+- (void) Foo:(int) state {
+
+ int wasResponded = 0;
+ @try {
+ if (state) {
+ B * b = 0;
+ @try { }
+ @finally {
+ wasResponded = ![b bar];
+ }
+ }
+ }
+ @finally {
+ }
+}
+ at end
+
+
Added: llvm-gcc-4.2/trunk/gcc/testsuite/llvm.objc/2007-05-02-Strong.m
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/gcc/testsuite/llvm.objc/2007-05-02-Strong.m?rev=48039&view=auto
==============================================================================
--- llvm-gcc-4.2/trunk/gcc/testsuite/llvm.objc/2007-05-02-Strong.m (added)
+++ llvm-gcc-4.2/trunk/gcc/testsuite/llvm.objc/2007-05-02-Strong.m Fri Mar 7 17:48:51 2008
@@ -0,0 +1,24 @@
+/* { dg-do compile } */
+/* { dg-options "-fobjc-gc" } */
+typedef int NSInteger;
+typedef struct _NSRect {
+ int origin;
+ int size;
+} NSRect;
+
+__attribute__((objc_gc(strong))) NSRect *_cachedRectArray;
+extern const NSRect NSZeroRect;
+ at interface A{
+}
+-(void)bar:(NSInteger *)rectCount;
+ at end
+
+ at implementation A
+
+-(void)bar:(NSInteger *)rectCount {
+ NSRect appendRect = NSZeroRect;
+
+ _cachedRectArray[*rectCount - 1] = NSZeroRect;
+}
+
+ at end
Added: llvm-gcc-4.2/trunk/gcc/testsuite/llvm.objc/2007-09-25-EH.m
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/gcc/testsuite/llvm.objc/2007-09-25-EH.m?rev=48039&view=auto
==============================================================================
--- llvm-gcc-4.2/trunk/gcc/testsuite/llvm.objc/2007-09-25-EH.m (added)
+++ llvm-gcc-4.2/trunk/gcc/testsuite/llvm.objc/2007-09-25-EH.m Fri Mar 7 17:48:51 2008
@@ -0,0 +1,26 @@
+/* { dg-do compile { target { *-*-darwin* } } } */
+/* { dg-options "-w -m64 -mmacosx-version-min=10.5" } */
+ at class NSDictionary, DSoBuffer, DSoDirectory, NSMutableArray;
+ at interface NSException {}
+ at end
+ at interface DSoNode {
+ DSoDirectory *mDirectory;
+}
+ at end
+ at implementation DSoNode
+- (void) _findRecordsOfTypes {
+ DSoBuffer *dbData;
+ void *recInfo;
+ NSMutableArray *results;
+ @try {
+ dsGetRecordEntry([dbData dsDataBuffer], (void**)&recInfo);
+ @try {
+ [results addObject:37];
+ } @finally {
+ dsDeallocRecordEntry([mDirectory dsDirRef], recInfo);
+ }
+ } @catch(NSException * exception) {
+ }
+}
+
+
Added: llvm-gcc-4.2/trunk/gcc/testsuite/llvm.objc/2007-10-17-SJLJExceptions.m
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/gcc/testsuite/llvm.objc/2007-10-17-SJLJExceptions.m?rev=48039&view=auto
==============================================================================
--- llvm-gcc-4.2/trunk/gcc/testsuite/llvm.objc/2007-10-17-SJLJExceptions.m (added)
+++ llvm-gcc-4.2/trunk/gcc/testsuite/llvm.objc/2007-10-17-SJLJExceptions.m Fri Mar 7 17:48:51 2008
@@ -0,0 +1,27 @@
+/* { dg-do compile } */
+/* { dg-options "-std=gnu99 -O2 -fexceptions" } */
+#import <stdio.h>
+
+ at interface Foo {
+ char c;
+ short s;
+ int i;
+ long l;
+ float f;
+ double d;
+}
+-(Foo*)retain;
+ at end
+
+struct Foo *bork(Foo *FooArray) {
+ struct Foo *result = 0;
+ @try {
+ result = [FooArray retain];
+ } @catch(id any) {
+ printf("hello world\n");
+ }
+
+ return result;
+}
+
+/* { dg-final { scan-assembler-not "Unwind_Resume" } } */
Added: llvm-gcc-4.2/trunk/gcc/testsuite/llvm.objc/2007-10-18-ProDescriptor.m
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/gcc/testsuite/llvm.objc/2007-10-18-ProDescriptor.m?rev=48039&view=auto
==============================================================================
--- llvm-gcc-4.2/trunk/gcc/testsuite/llvm.objc/2007-10-18-ProDescriptor.m (added)
+++ llvm-gcc-4.2/trunk/gcc/testsuite/llvm.objc/2007-10-18-ProDescriptor.m Fri Mar 7 17:48:51 2008
@@ -0,0 +1,19 @@
+/* { dg-do compile } */
+ at protocol O
+ at end
+ at interface O < O > {
+}
+ at end
+struct A {
+};
+ at protocol AB
+- (unsigned) ver;
+ at end
+ at interface AGy:O < AB > {
+}
+ at end
+ at implementation AGy
+- (unsigned) ver {
+}
+ at end
+
Added: llvm-gcc-4.2/trunk/gcc/testsuite/llvm.objc/2007-10-23-GC-WriteBarrier.m
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/gcc/testsuite/llvm.objc/2007-10-23-GC-WriteBarrier.m?rev=48039&view=auto
==============================================================================
--- llvm-gcc-4.2/trunk/gcc/testsuite/llvm.objc/2007-10-23-GC-WriteBarrier.m (added)
+++ llvm-gcc-4.2/trunk/gcc/testsuite/llvm.objc/2007-10-23-GC-WriteBarrier.m Fri Mar 7 17:48:51 2008
@@ -0,0 +1,9 @@
+/* { dg-do compile } */
+/* { dg-options "-fobjc-gc" } */
+/* rdar:5541393 */
+typedef unsigned int NSUInteger;
+__attribute__((objc_gc(strong))) float *_scores;
+
+void foo(int i, float f) {
+ _scores[i] = f;
+}
Added: llvm-gcc-4.2/trunk/gcc/testsuite/llvm.objc/llvmobjc.exp
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/gcc/testsuite/llvm.objc/llvmobjc.exp?rev=48039&view=auto
==============================================================================
--- llvm-gcc-4.2/trunk/gcc/testsuite/llvm.objc/llvmobjc.exp (added)
+++ llvm-gcc-4.2/trunk/gcc/testsuite/llvm.objc/llvmobjc.exp Fri Mar 7 17:48:51 2008
@@ -0,0 +1,36 @@
+# GCC Objective-C testsuite that uses the `dg.exp' driver.
+# Copyright (C) 1997, 2001 Free Software Foundation, Inc.
+
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program; if not, write to the Free Software
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+
+# Load support procs.
+load_lib objc-dg.exp
+
+# If a testcase doesn't have special options, use these.
+global DEFAULT_CFLAGS
+if ![info exists DEFAULT_CFLAGS] then {
+ set DEFAULT_CFLAGS ""
+}
+
+# Initialize `dg'.
+dg-init
+
+# Main loop.
+# APPLE LOCAL -ObjC
+dg-runtest [lsort [glob -nocomplain $srcdir/$subdir/*.\[mc\]]] \
+ "" $DEFAULT_CFLAGS
+
+# All done.
+dg-finish
More information about the llvm-commits
mailing list