diff options
author | upstream source tree <ports@midipix.org> | 2015-03-15 20:14:05 -0400 |
---|---|---|
committer | upstream source tree <ports@midipix.org> | 2015-03-15 20:14:05 -0400 |
commit | 554fd8c5195424bdbcabf5de30fdc183aba391bd (patch) | |
tree | 976dc5ab7fddf506dadce60ae936f43f58787092 /gcc/testsuite/objc/compile | |
download | cbb-gcc-4.6.4-554fd8c5195424bdbcabf5de30fdc183aba391bd.tar.bz2 cbb-gcc-4.6.4-554fd8c5195424bdbcabf5de30fdc183aba391bd.tar.xz |
obtained gcc-4.6.4.tar.bz2 from upstream website;upstream
verified gcc-4.6.4.tar.bz2.sig;
imported gcc-4.6.4 source tree from verified upstream tarball.
downloading a git-generated archive based on the 'upstream' tag
should provide you with a source tree that is binary identical
to the one extracted from the above tarball.
if you have obtained the source via the command 'git clone',
however, do note that line-endings of files in your working
directory might differ from line-endings of the respective
files in the upstream repository.
Diffstat (limited to 'gcc/testsuite/objc/compile')
-rw-r--r-- | gcc/testsuite/objc/compile/20011211-1.m | 19 | ||||
-rw-r--r-- | gcc/testsuite/objc/compile/20060406-1.m | 65 | ||||
-rw-r--r-- | gcc/testsuite/objc/compile/compile.exp | 46 | ||||
-rw-r--r-- | gcc/testsuite/objc/compile/method-1.m | 12 | ||||
-rw-r--r-- | gcc/testsuite/objc/compile/pr18406.m | 9 | ||||
-rw-r--r-- | gcc/testsuite/objc/compile/trivial.m | 6 |
6 files changed, 157 insertions, 0 deletions
diff --git a/gcc/testsuite/objc/compile/20011211-1.m b/gcc/testsuite/objc/compile/20011211-1.m new file mode 100644 index 000000000..b6920019c --- /dev/null +++ b/gcc/testsuite/objc/compile/20011211-1.m @@ -0,0 +1,19 @@ +typedef struct objc_class *Class; + +typedef struct objc_object { + Class isa; +} *id; + +@interface nsset ++ (id)set; +@end + +@interface baz +- (void)set; +@end + +nsset *fn () +{ + nsset *bar; + bar = [nsset set]; +} diff --git a/gcc/testsuite/objc/compile/20060406-1.m b/gcc/testsuite/objc/compile/20060406-1.m new file mode 100644 index 000000000..62148902a --- /dev/null +++ b/gcc/testsuite/objc/compile/20060406-1.m @@ -0,0 +1,65 @@ +/* This test tests typedefs and protocol qualifiers. */ + +@protocol O +- (unsigned)j; +@end + +@interface T +@end + + +/* First test. */ +typedef T<O> *S; + +@interface I ++ (unsigned char)T:(S[2])p + v:(S)h; +@end + +@implementation I ++ (unsigned char)T:(S[2])p + v:(S)h +{ + p[0] = (S) 0; + p[1] = (S) 0; + return 0; +} +@end + + +/* Second test. */ +typedef T<O> S1; + +@interface I1 ++ (unsigned char)T1:(S1*[2])p + v1:(S1*)h; +@end + +@implementation I1 ++ (unsigned char)T1:(S1*[2])p + v1:(S1*)h +{ + p[0] = (S1*) 0; + p[1] = (S1*) 0; + return 0; +} +@end + + +/* Third test. */ +typedef T S2; + +@interface I2 ++ (unsigned char)T1:(S2<O>*[2])p + v1:(S2<O>*)h; +@end + +@implementation I2 ++ (unsigned char)T1:(S2<O>*[2])p + v1:(S2<O>*)h +{ + p[0] = (S2<O>*) 0; + p[1] = (S2<O>*) 0; + return 0; +} +@end diff --git a/gcc/testsuite/objc/compile/compile.exp b/gcc/testsuite/objc/compile/compile.exp new file mode 100644 index 000000000..afc234301 --- /dev/null +++ b/gcc/testsuite/objc/compile/compile.exp @@ -0,0 +1,46 @@ +# Copyright (C) 1991, 1992, 1993, 1995, 1997, 2001, 2007, 2008, 2010 +# 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 3 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 GCC; see the file COPYING3. If not see +# <http://www.gnu.org/licenses/>. + +# This file was written by Rob Savoye. (rob@cygnus.com) +# Modified by Stan Shebs <shebs@apple.com> + +if $tracelevel then { + strace $tracelevel +} + +# load support procs +load_lib objc-torture.exp +load_lib torture-options.exp + +torture-init +objc-set-runtime-options "compile" +set-torture-options $OBJC_TORTURE_OPTIONS $OBJC_RUNTIME_OPTIONS + +# +# main test loop +# + +foreach src [lsort [glob -nocomplain $srcdir/$subdir/*.m]] { + # If we're only testing specific files and this isn't one of them, skip it. + if ![runtest_file_p $runtests $src] then { + continue + } + + objc-torture $src +} + +torture-finish diff --git a/gcc/testsuite/objc/compile/method-1.m b/gcc/testsuite/objc/compile/method-1.m new file mode 100644 index 000000000..e9bb989be --- /dev/null +++ b/gcc/testsuite/objc/compile/method-1.m @@ -0,0 +1,12 @@ +/* PR objc/29195 */ +/* Test that array decls are changed to a pointer type + correctly and make sure we don't crash because the + decl was not relayed out. */ + +@ implementation NGActiveSocket ++ (void) socketPair:(int [2]) + _pair +{ + _pair[0] = 0; +} +@end diff --git a/gcc/testsuite/objc/compile/pr18406.m b/gcc/testsuite/objc/compile/pr18406.m new file mode 100644 index 000000000..d34334f00 --- /dev/null +++ b/gcc/testsuite/objc/compile/pr18406.m @@ -0,0 +1,9 @@ +@interface Test +- (void)test: (long double)val; +@end + +@implementation Test +- (void)test: (long double)val +{ +} +@end diff --git a/gcc/testsuite/objc/compile/trivial.m b/gcc/testsuite/objc/compile/trivial.m new file mode 100644 index 000000000..207cce8b3 --- /dev/null +++ b/gcc/testsuite/objc/compile/trivial.m @@ -0,0 +1,6 @@ +#import "../../objc-obj-c++-shared/Object1.h" + +int main(void) +{ + [Object class]; +} |