[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