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.

Martin Sebor made changes - 01/Nov/07 12:09 AM
Field Original Value New Value
Affects Version/s trunk [ 12312676 ]
Affects Version/s 4.2 [ 12311945 ]
Travis Vitek made changes - 19/Feb/08 07:48 PM
Assignee Travis Vitek [ vitek ]
Repository Revision Date User Message
ASF #629207 Tue Feb 19 19:55:21 UTC 2008 vitek 2008-02-19 Travis Vitek <vitek@roguewave.com>

STDCXX-602
* include/sstream (_C_grow): Remove declaration and definition of
private method.
* include/sstream.cc (str): Calculate the appropriate buffer size
directly, removing call to removed method _C_grow().
Files Changed
MODIFY /stdcxx/trunk/include/sstream
MODIFY /stdcxx/trunk/include/sstream.cc

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

Repository Revision Date User Message
ASF #629212 Tue Feb 19 20:05:45 UTC 2008 vitek 2008-02-19 Travis Vitek <vitek@roguewave.com>

STDCXX-602
* include/sstream.cc (str): Fix compile error and signed/unsigned
warning introduced in previous change.
Files Changed
MODIFY /stdcxx/trunk/include/sstream.cc

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

Travis Vitek logged work - 19/Feb/08 08:07 PM
Time Worked: 1h
Make change, commit fix, test, make fix, commit fix.
Travis Vitek made changes - 19/Feb/08 08:07 PM
Time Spent 1h [ 3600 ]
Remaining Estimate 0h [ 0 ]
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 made changes - 29/Feb/08 10:29 PM
Fix Version/s 4.2.1 [ 12312690 ]
Fix Version/s 4.3 [ 12312692 ]
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.

Travis Vitek made changes - 25/Apr/08 04:17 PM
Resolution Fixed [ 1 ]
Status Open [ 1 ] Resolved [ 5 ]
Travis Vitek made changes - 25/Apr/08 04:18 PM
Status Resolved [ 5 ] Closed [ 6 ]
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.

Travis Vitek made changes - 27/Apr/08 04:50 AM
Status Closed [ 6 ] Reopened [ 4 ]
Resolution Fixed [ 1 ]
Repository Revision Date User Message
ASF #652711 Thu May 01 23:38:56 UTC 2008 vitek 2008-05-01 Travis Vitek <vitek@roguewave.com>

STDCXX-602
* include/sstream (_C_grow): Revert r629207 to avoid any
backward binary compatibility problems.
* include/sstream.cc (str): Ditto.
Files Changed
MODIFY /stdcxx/branches/4.3.x/include/sstream
MODIFY /stdcxx/branches/4.3.x/include/sstream.cc

Travis Vitek made changes - 11/Jul/09 12:06 AM
Assignee Travis Vitek [ vitek ]