Patchwork [v3] Fix profile mode failures

login
register
mail settings
Submitter Jonathan Wakely
Date Nov. 8, 2012, 1:37 a.m.
Message ID <CAH6eHdT9MyW8OoF+2O5je9UtKNxZYqYehdKbUGVVijjCnXdyhA@mail.gmail.com>
Download mbox | patch
Permalink /patch/197747/
State New
Headers show

Comments

Jonathan Wakely - Nov. 8, 2012, 1:37 a.m.
On 7 November 2012 10:55, Jonathan Wakely wrote:
> On 7 November 2012 10:25, Paolo Carlini wrote:
>>
>> I'm for example seeing in the log:
>>
>>     23_containers/list/init-list.cc execution test
>>
>> pretty mysterious,
>
> Yes, I had a quick look at it but couldn't see the problem, so wanted
> to fix the trivial vector problem first.
>
>> I think it's the first time I ever see it.
>
> Huh, then I guess I broke that one too.  I won't rest until it's fixed ;-)

Bah, it's nothing to do with me, the profile-mode list should never
have worked!  I'm testing this overnight.
commit 756c968f9d35778e0b1c068c76833cbe8358a9d4
Author: Jonathan Wakely <jwakely.gcc@gmail.com>
Date:   Thu Nov 8 01:27:24 2012 +0000

    	* include/profile/iterator_tracker.h (operator++): Fix returning
    	dangling reference.
    	(operator--): Likewise.
Paolo Carlini - Nov. 8, 2012, 1:58 a.m.
On 11/08/2012 02:37 AM, Jonathan Wakely wrote:
> Bah, it's nothing to do with me, the profile-mode list should never 
> have worked! I'm testing this overnight.
Ah! Thanks!

Paolo.
Paolo Carlini - Nov. 8, 2012, 12:42 p.m.
On 11/08/2012 02:58 AM, Paolo Carlini wrote:
> On 11/08/2012 02:37 AM, Jonathan Wakely wrote:
>> Bah, it's nothing to do with me, the profile-mode list should never 
>> have worked! I'm testing this overnight.
> Ah! Thanks!
By the way, I'm also seeing this:

WARNING: 23_containers/unordered_multimap/insert/55028-debug.cc 
compilation failed to produce executable

but in this case the issue is even more trivial: we are explicitly 
passing -D_GLIBCXX_DEBUG - which lately we are supposed to not do - and 
it conflicts with profile-mode. I'll fix it.

Paolo.

Patch

diff --git a/libstdc++-v3/include/profile/iterator_tracker.h b/libstdc++-v3/include/profile/iterator_tracker.h
index 733429d..91f733c 100644
--- a/libstdc++-v3/include/profile/iterator_tracker.h
+++ b/libstdc++-v3/include/profile/iterator_tracker.h
@@ -93,7 +93,7 @@  namespace __profile
 	return *this;
       }
 
-      __iterator_tracker&
+      __iterator_tracker
       operator++(int)
       {
 	_M_ds->_M_profile_iterate();
@@ -110,7 +110,7 @@  namespace __profile
 	return *this;
       }
 
-      __iterator_tracker&
+      __iterator_tracker
       operator--(int)
       {
 	_M_ds->_M_profile_iterate(1);