From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 22796 invoked by alias); 30 Sep 2008 16:54:39 -0000 Received: (qmail 22788 invoked by uid 22791); 30 Sep 2008 16:54:37 -0000 X-Spam-Check-By: sourceware.org Received: from mail.codesourcery.com (HELO mail.codesourcery.com) (65.74.133.4) by sourceware.org (qpsmtpd/0.31) with ESMTP; Tue, 30 Sep 2008 16:54:00 +0000 Received: (qmail 7525 invoked from network); 30 Sep 2008 16:53:47 -0000 Received: from unknown (HELO orlando.local) (pedro@127.0.0.2) by mail.codesourcery.com with ESMTPA; 30 Sep 2008 16:53:47 -0000 From: Pedro Alves To: gdb-patches@sourceware.org, Tom Tromey Subject: Re: RFA: PR 2484: completion of macro names Date: Tue, 30 Sep 2008 16:54:00 -0000 User-Agent: KMail/1.9.9 References: <200809282301.17191.pedro@codesourcery.com> In-Reply-To: MIME-Version: 1.0 Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: 7bit Content-Disposition: inline Message-Id: <200809301753.49962.pedro@codesourcery.com> X-IsSubscribed: yes 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-09/txt/msg00576.txt.bz2 On Tuesday 30 September 2008 17:07:49, Tom Tromey wrote: > Fortran allows macro expansion now. I did not change this, because it > also requires changes to the Fortran lexer in gdb. I think that is > outside the scope of this patch. Perhaps a Fortran maintainer could > implement it. Certainly. Thanks for the clarifications. > + /* Style of macro expansion, if any, supported by this language. */ > + enum macro_expansion la_macro_expansion : 1; Left over ` : 1'. > + /* Add any macros visible in the default scope. Note that this > + may yield the occasional wrong result, because an expression > + might be evaluated in a scope other than the default. For > + example, if the user types "break file:line if ", the > + resulting expression will be evaluated at "file:line" -- but > + at there does not seem to be a way to detect this at > + completion time. */ > + scope = default_macro_scope (); Ah, thanks. This isn't much different from local symbols, which we use the selected frame/block. :REVIEWMAIL: Looks OK to me. Thanks again for doing this. > 2008-09-30 Tom Tromey > > PR gdb/2484: > * symtab.c (struct add_macro_name_data): New struct. > (add_macro_name): New function. > (default_make_symbol_completion_list): Complete macro names. > * scm-lang.c (scm_language_defn): Update. > * p-lang.c (pascal_language_defn): Update. > * objc-lang.c (objc_language_defn): Update. > * macrotab.h (macro_callback_fn): Add user_data argument. > (macro_for_each): Likewise. > (macro_for_each_in_scope): Declare. > * macrotab.c: (struct macro_for_each_data): New struct. > (foreach_macro): Use it. > (macro_for_each): Likewise. > (foreach_macro_in_scope): New function. > (macro_for_each_in_scope): Likewise. > * macrocmd.c (print_one_macro): Add argument. > (macro_list_command): Pass NULL to macro_for_each. > * m2-lang.c (m2_language_defn): Update. > * language.h (struct language_defn) : New > field. > (macro_expansion): New enum. > * language.c (unknown_language_defn): Update. Fix order of > initializers. > (auto_language_defn): Likewise. > (local_language_defn): Update. > * jv-lang.c (java_language_defn): Update. > * f-lang.c (f_language_defn): Update. > * c-lang.c (c_language_defn): Update. > (cplus_language_defn): Likewise. > (asm_language_defn): Likewise. > (minimal_language_defn): Likewise. > * ada-lang.c (ada_language_defn): Update. > > 2008-09-30 Tom Tromey > > * gdb.base/macscp.exp: Add completion tests. > * gdb.base/macscp1.c (FIFTY_SEVEN): New macro. > (TWENTY_THREE): Likewise. > (FORTY_EIGHT): Likewise. > -- Pedro Alves