Issue Details (XML | Word | Printable)

Key: STDCXX-602
Type: Improvement Improvement
Status: Reopened Reopened
Priority: Trivial Trivial
Assignee: Unassigned
Reporter: Martin Sebor
Votes: 0
Watchers: 0
Operations

If you were logged in you would be able to see more operations.
C++ Standard Library

remove std::stringbuf::_C_grow()

Created: 17/Oct/07 09:44 PM   Updated: 11/Jul/09 12:06 AM
Return to search
Component/s: 27. Input/Output
Affects Version/s: 4.2.0
Fix Version/s: 4.3.0

Time Tracking:
Original Estimate: Not Specified
Remaining Estimate: 0h
Time Spent - 1h
Time Spent: 1h
Time Spent - 1h

Environment: all

Severity: Cosmetic


 Description  « Hide
...the function is inline and only called from std::stringbuf::str(). Removing it (by virtue of expanding its body into str()) will reduce the number of symbols "exported" from the library and decrease the risk of breaking binary compatibility (see STDCXX-142 and the discussion thread at http://www.nabble.com/difference-in-exported-symbols-between-4.1.3-and-4.2.0-15d-dll%27s-%28MSVC-7.1%29-tf4641636.html)

 All   Comments   Work Log   Change History   Subversion Commits      Sort Order: Ascending order - Click to sort in descending order
Martin Sebor added a comment - 01/Nov/07 12:09 AM
Now that 4.2.0 is released, set Affects Version(s) accordingly.

Travis Vitek added a comment - 19/Feb/08 07:56 PM
Committed to trunk in r629207

Travis Vitek added a comment - 19/Feb/08 08:06 PM
Then fixed on trunk in r629212.

Martin Sebor added a comment - 19/Feb/08 09:33 PM
I'm not sure how we ended up with 4.2.1 for Fix Version/s but this isn't binary compatible, is it?

Travis Vitek added a comment - 19/Feb/08 10:28 PM
Ah, you beat me to it. I was waiting for the commit to show up in the mail archives so I could reply with this same question there. Yes, the method _C_grow() is exported from the shared library, so this is likely a binary compatibility issue.

Unless someone indicates otherwise, I'm going to leave the fix on trunk and then set the fix version of this issue to 4.3.


Travis Vitek added a comment - 29/Feb/08 10:29 PM
Updated fix version o 4.3

Travis Vitek added a comment - 25/Apr/08 04:17 PM
This fix was committed to the 4.3 branch when the branch was created. It has been tested on trunk, so it is safe to close.

Martin Sebor added a comment - 25/Apr/08 06:48 PM
If the removal wasn't compatible before what makes it compatible now?

Travis Vitek added a comment - 27/Apr/08 04:50 AM
Whoa. Had I reviewed the versioning policy I would have remembered that 4.3 is supposed to be binary backward compatible with 4.2.x. This change is not backward compatible at all, so it needs to be removed from 4.3. Thank you for the gentle reminder.