From 4c594031436cb2e700bc8b771dbda082dbcc6e2c Mon Sep 17 00:00:00 2001 From: Stan Shebs Date: Tue, 11 Dec 2001 18:24:17 +0000 Subject: [PATCH] objc-act.c (finish_message_expr): Fix misplaced parens in a test of class names. * objc/objc-act.c (finish_message_expr): Fix misplaced parens in a test of class names. * objc/compile: New test directory. * objc/compile/compile.exp: New expect script. * objc/compile/20011211-1.m: New compile test. From-SVN: r47886 --- gcc/ChangeLog | 5 +++++ gcc/objc/objc-act.c | 4 ++-- gcc/testsuite/ChangeLog | 6 ++++++ gcc/testsuite/objc/compile/20011211-1.m | 19 +++++++++++++++++ gcc/testsuite/objc/compile/compile.exp | 38 +++++++++++++++++++++++++++++++++ 5 files changed, 70 insertions(+), 2 deletions(-) create mode 100644 gcc/testsuite/objc/compile/20011211-1.m create mode 100644 gcc/testsuite/objc/compile/compile.exp diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 357eb22..eb1fbff 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,8 @@ +2001-12-11 Stan Shebs + + * objc/objc-act.c (finish_message_expr): Fix misplaced parens in a + test of class names. + 2001-12-11 David O'Brien * config.gcc (m68020-*-elf*): Expand tm_file to include all needed diff --git a/gcc/objc/objc-act.c b/gcc/objc/objc-act.c index bf770e9..03e4b04 100644 --- a/gcc/objc/objc-act.c +++ b/gcc/objc/objc-act.c @@ -4851,8 +4851,8 @@ finish_message_expr (receiver, sel_name, method_params) && TREE_STATIC_TEMPLATE (TREE_TYPE (rtype))) statically_typed = 1; else if ((flag_next_runtime - || (IS_ID (rtype) - && (class_ident = receiver_is_class_object (receiver))))) + || (IS_ID (rtype))) + && (class_ident = receiver_is_class_object (receiver))) ; else if (! IS_ID (rtype) /* Allow any type that matches objc_class_type. */ diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog index 5b40103..f6f4f09 100644 --- a/gcc/testsuite/ChangeLog +++ b/gcc/testsuite/ChangeLog @@ -1,3 +1,9 @@ +2001-12-11 Stan Shebs + + * objc/compile: New test directory. + * objc/compile/compile.exp: New expect script. + * objc/compile/20011211-1.m: New compile test. + 2001-12-11 Jason Merrill * lib/prune.exp (prune_gcc_output): Also handle "In member diff --git a/gcc/testsuite/objc/compile/20011211-1.m b/gcc/testsuite/objc/compile/20011211-1.m new file mode 100644 index 0000000..b692001 --- /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/compile.exp b/gcc/testsuite/objc/compile/compile.exp new file mode 100644 index 0000000..0c29f31 --- /dev/null +++ b/gcc/testsuite/objc/compile/compile.exp @@ -0,0 +1,38 @@ +# Copyright (C) 1991, 1992, 1993, 1995, 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., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. + +# This file was written by Rob Savoye. (rob@cygnus.com) +# Modified by Stan Shebs + +if $tracelevel then { + strace $tracelevel +} + +# load support procs +load_lib objc-torture.exp + +# +# 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 +} -- 2.7.4