From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 23071 invoked by alias); 12 Mar 2002 18:08:04 -0000 Mailing-List: contact gdb-patches-help@sources.redhat.com; run by ezmlm Precedence: bulk List-Subscribe: List-Archive: List-Post: List-Help: , Sender: gdb-patches-owner@sources.redhat.com Received: (qmail 22769 invoked from network); 12 Mar 2002 18:07:47 -0000 Received: from unknown (HELO mail-out1.apple.com) (17.254.0.52) by sources.redhat.com with SMTP; 12 Mar 2002 18:07:47 -0000 Received: from mailgate2.apple.com (A17-129-100-225.apple.com [17.129.100.225]) by mail-out1.apple.com (8.11.3/8.11.3) with ESMTP id g2CI7fQ06547 for ; Tue, 12 Mar 2002 10:07:41 -0800 (PST) Received: from scv3.apple.com (scv3.apple.com) by mailgate2.apple.com (Content Technologies SMTPRS 4.2.1) with ESMTP id ; Tue, 12 Mar 2002 10:07:41 -0800 Received: from molly.localnet (vpn-scv-x1-35.apple.com [17.219.193.35]) by scv3.apple.com (8.11.3/8.11.3) with ESMTP id g2CI7eX20050; Tue, 12 Mar 2002 10:07:40 -0800 (PST) Date: Tue, 12 Mar 2002 10:08:00 -0000 Subject: Re: [RFA] Function return type checking Content-Type: text/plain; charset=US-ASCII; format=flowed Mime-Version: 1.0 (Apple Message framework v481) Cc: Klee Dienes , Daniel Jacobowitz , gdb-patches@sources.redhat.com To: Andrew Cagney From: Klee Dienes In-Reply-To: <3C8E250C.4070601@cygnus.com> Message-Id: <0A63ABF3-35E4-11D6-A901-0030653FA4C6@apple.com> Content-Transfer-Encoding: 7bit X-Mailer: Apple Mail (2.481) X-SW-Source: 2002-03/txt/msg00185.txt.bz2 Saying that I "need" the infrastructure change for Objective-C would probably be a bit strong. The basic issue arises when evaluating Objective-C expressions like the following: call [[window boundingBox] print] Here 'window' is of type NSWindow, an opaque type defined in a system library, and 'boundingBox' is a method of NSWindow that returns a NSRect. The issue arises because '[window boundingBox]' is really a function call to 'objc_msgSend_stret (window, selector)'. There generally isn't symbol information available for 'objc_msgSend_stret', but there often is for '[NSWindow boundingBox]'. So it's nice for Objective-C to be able to pass the correct return type information to 'call_function_by_hand' so that the result returns with the correct type, rather than have to cons up a fake function value with fake return type to pass to 'call_function_by_hand'. On Tuesday, March 12, 2002, at 07:55 AM, Andrew Cagney wrote: > So there are two reasons for the change? The infrastructure you need > for objective C and a user visible interface change. Can you expand a > little on the objective C problems. If objective C has good reason for > this infrastructure than I can't see why that part shouldn't go in.