From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 5780 invoked by alias); 14 Feb 2012 20:13:04 -0000 Received: (qmail 5767 invoked by uid 22791); 14 Feb 2012 20:13:02 -0000 X-SWARE-Spam-Status: No, hits=-0.3 required=5.0 tests=AWL,BAYES_50,T_RP_MATCHES_RCVD X-Spam-Check-By: sourceware.org Received: from fencepost.gnu.org (HELO fencepost.gnu.org) (140.186.70.10) by sourceware.org (qpsmtpd/0.43rc1) with ESMTP; Tue, 14 Feb 2012 20:12:49 +0000 Received: from ams by fencepost.gnu.org with local (Exim 4.71) (envelope-from ) id 1RxOk3-0003n7-UZ; Tue, 14 Feb 2012 15:12:48 -0500 Date: Tue, 14 Feb 2012 20:18:00 -0000 Message-Id: From: ams@gnu.org (Alfred M. Szmidt) To: Aleksandar Ristovski CC: gdb-patches@sources.redhat.com In-reply-to: <4F3AB4AE.2010504@qnx.com> (message from Aleksandar Ristovski on Tue, 14 Feb 2012 14:23:26 -0500) Subject: Re: [patch] Assert when 'break' with no arguments Reply-to: ams@gnu.org References: <20120214185333.GB14803@adacore.com> <4F3AB4AE.2010504@qnx.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: 2012-02/txt/msg00284.txt.bz2 2012-02-14 Aleksandar Ristovski * frame.c (find_frame_sal): Initialise sal->pspace field from frame data. I'm guessing that American spelling is prefered, since that is what is used in GDB. * stack.c (set_last_displayed_sal): Perform sanity check of the data passed in, in particular, validate that PSPACE is not NULL if requesting valid last_displayed_* data. Please don't use regexps in the ChangeLog. Also, descriptions on why the change is done is better placed in the source file. So here, you could just write: Validate that PSPACE is not NULL. Or something, Testsuite: 2012-02-14 Aleksandar Ristovski * gdb.base/break-inline.exp: New test. * gdb.base/break-inline.c: New test. This should say `New file.' since that is what you have added. [2:text/x-patch Hide Save:pspace-assert-201202141406.patch (1kB)] Index: gdb/frame.c =================================================================== RCS file: /cvs/src/src/gdb/frame.c,v retrieving revision 1.304 diff -u -p -r1.304 frame.c --- gdb/frame.c 4 Jan 2012 08:17:02 -0000 1.304 +++ gdb/frame.c 14 Feb 2012 19:05:52 -0000 @@ -2096,6 +2096,8 @@ find_frame_sal (struct frame_info *frame we can't do much better. */ sal->pc = get_frame_pc (frame); + sal->pspace = get_frame_program_space (frame); + return; } Index: gdb/stack.c =================================================================== RCS file: /cvs/src/src/gdb/stack.c,v retrieving revision 1.247 diff -u -p -r1.247 stack.c --- gdb/stack.c 7 Feb 2012 04:48:22 -0000 1.247 +++ gdb/stack.c 14 Feb 2012 19:05:52 -0000 @@ -909,6 +909,11 @@ set_last_displayed_sal (int valid, struc last_displayed_addr = addr; last_displayed_symtab = symtab; last_displayed_line = line; + if (valid && pspace == NULL) + { + warning(_("Trying to set NULL pspace.")); Space after opening paren (though not for _()). + clear_last_displayed_sal (); + } } /* Forget the last sal we displayed. */ [3:text/plain Hide Save:break-inline.exp (927B)] # Copyright (C) 2012 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 this program. If not, see . if { [prepare_for_testing break-inline.exp "break-inline" {} {debug nowarnings optimize=-O2}] } { return -1 } gdb_test "start" "Temporary breakpoint.*foo().*" # Now test 'break' with no arguments. gdb_test "break" "Breakpoint.*" [4:text/x-csrc Hide Save:break-inline.c (872B)] /* This testcase is part of GDB, the GNU debugger. Copyright (C) 2012 Free Software Foundation, Inc. This isn't formated correctly. 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 this program. If not, see . */ static int g; Add a extra newline here. static inline void foo(void) This should be, static inline void foo (void) { g = 42; } Add a extra newline here. int main(int argc, char *argv[]) This should be, int main (int argc, char *argv[]) { foo(); Space after opening paren. return g; }