From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 9412 invoked by alias); 13 Jan 2008 09:21:43 -0000 Received: (qmail 9402 invoked by uid 22791); 13 Jan 2008 09:21:43 -0000 X-Spam-Check-By: sourceware.org Received: from sibelius.xs4all.nl (HELO brahms.sibelius.xs4all.nl) (82.92.89.47) by sourceware.org (qpsmtpd/0.31) with ESMTP; Sun, 13 Jan 2008 09:21:25 +0000 Received: from brahms.sibelius.xs4all.nl (kettenis@localhost.sibelius.xs4all.nl [127.0.0.1]) by brahms.sibelius.xs4all.nl (8.14.1/8.14.0) with ESMTP id m0D9LE4h016202; Sun, 13 Jan 2008 10:21:14 +0100 (CET) Received: (from kettenis@localhost) by brahms.sibelius.xs4all.nl (8.14.1/8.14.1/Submit) id m0D9LDtI008394; Sun, 13 Jan 2008 10:21:13 +0100 (CET) Date: Sun, 13 Jan 2008 09:21:00 -0000 Message-Id: <200801130921.m0D9LDtI008394@brahms.sibelius.xs4all.nl> From: Mark Kettenis To: eliz@gnu.org CC: drow@false.org, mark.kettenis@xs4all.nl, gdb-patches@sourceware.org In-reply-to: (message from Eli Zaretskii on Sun, 13 Jan 2008 06:21:36 +0200) Subject: Re: [RFC/RFA?] Should break FILE:LINENO skip prologue? References: <20080111053547.GB12954@adacore.com> <200801111126.m0BBQQDB006618@brahms.sibelius.xs4all.nl> <20080111182136.GD12954@adacore.com> <200801112113.m0BLDnAF024595@brahms.sibelius.xs4all.nl> <200801121531.m0CFVW8I023504@brahms.sibelius.xs4all.nl> <200801121618.m0CGI27U012957@brahms.sibelius.xs4all.nl> <20080112175817.GA21954@caradoc.them.org> Mailing-List: contact gdb-patches-help@sourceware.org; run by ezmlm Precedence: bulk List-Id: List-Subscribe: List-Archive: List-Post: List-Help: , Sender: gdb-patches-owner@sourceware.org X-SW-Source: 2008-01/txt/msg00317.txt.bz2 > Date: Sun, 13 Jan 2008 06:21:36 +0200 > From: Eli Zaretskii > > > In Ada, as Joel said, this is not true. *FUNCTION won't work > > That's too bad: this is an important feature, so if we cannot make it > work in all languages, we should at least document that. This is exactly the reason why documenting *FUNCTION on its own is the wrong thing to do. What we implement in GDB is *EXPRESSION, where EXPRESSION is an expression in the current language yielding an address. For C FUNCTION will do as an expression; &FUNCTION will do as well. Function pointers are a pretty standard feature of the C language, so I expect users to know about them. For Ada the appropriate expression is FUNCTION'Address or &FUNCTION. Other languages might also need a different syntax; I doubt &FUNCTION will work in Pascal or FORTRAN.