From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 23854 invoked by alias); 18 Mar 2009 18:08:30 -0000 Mailing-List: contact archer-help@sourceware.org; run by ezmlm Sender: Precedence: bulk List-Post: List-Help: List-Subscribe: List-Id: Received: (qmail 23550 invoked by uid 22791); 18 Mar 2009 18:08:25 -0000 X-SWARE-Spam-Status: No, hits=-2.4 required=5.0 tests=AWL,BAYES_00,SPF_HELO_PASS,SPF_PASS X-Spam-Check-By: sourceware.org Date: Wed, 18 Mar 2009 18:08:00 -0000 From: Jan Kratochvil To: archer@sourceware.org Subject: FYI the `register' gcc-4.4 change (GCC PR debug/39485) Message-ID: <20090318180812.GA13264@host0.dyn.jankratochvil.net> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline User-Agent: Mutt/1.5.18 (2008-05-17) X-SW-Source: 2009-q1/txt/msg00398.txt.bz2 Hi, as I made a note about it in the confcall: http://gcc.gnu.org/bugzilla/show_bug.cgi?id=39485 Summary: Explicit `register' keyword started working even during -O0 for g++-4.4. It makes methods of objects marked by `register' not debuggable. (gdb) p v.method() Address requested for identifier "v" which is in register $rbx It turned for GDB: -PASS: gdb.cp/classes.exp: calling method for small class +XFAIL: gdb.cp/classes.exp: calling method for small class (PRMS 2972) Jakub already checked-in to GCC a fix although one could (less well) workaround it by some: #ifdef __OPTIMIZE__ # define register #endif Anyway Jakub already did code it and it should have no disadvantages so probably there is nothing left to decide about some compromise. Regards, Jan