
The deadline for bug fixes for 1.51 is tomorrow; and I'd like to merge the changes I made to the following libraries to release: * Config - reorganized the c++11 macros * Unordered - changed #ifdefs to use non-deprecated macros * functional/hash - changed #ifdefs to use non-deprecated macros * Random - changed #ifdefs to use non-deprecated macros * Regex - changed #ifdefs to use non-deprecated macros * Math - changed #ifdefs to use non-deprecated macros I've been watching the test results; and it turns out I broke two of the C++11 tests, which only affects people running the tests on C++11 compilers. I fixed those this morning. Any objections? -- Marshall Marshall Clow Idio Software <mailto:mclow.lists@gmail.com> A.D. 1517: Martin Luther nails his 95 Theses to the church door and is promptly moderated down to (-1, Flamebait). -- Yu Suzuki

AMDG On 07/14/2012 04:42 PM, Marshall Clow wrote:
The deadline for bug fixes for 1.51 is tomorrow; and I'd like to merge the changes I made to the following libraries to release:
* Config - reorganized the c++11 macros * Unordered - changed #ifdefs to use non-deprecated macros * functional/hash - changed #ifdefs to use non-deprecated macros * Random - changed #ifdefs to use non-deprecated macros * Regex - changed #ifdefs to use non-deprecated macros * Math - changed #ifdefs to use non-deprecated macros
I've been watching the test results; and it turns out I broke two of the C++11 tests, which only affects people running the tests on C++11 compilers. I fixed those this morning.
Any objections?
None here. In Christ, Steven Watanabe

On 7/14/2012 6:42 PM, Marshall Clow wrote:
The deadline for bug fixes for 1.51 is tomorrow; and I'd like to merge the changes I made to the following libraries to release:
* Config - reorganized the c++11 macros * Unordered - changed #ifdefs to use non-deprecated macros * functional/hash - changed #ifdefs to use non-deprecated macros * Random - changed #ifdefs to use non-deprecated macros * Regex - changed #ifdefs to use non-deprecated macros * Math - changed #ifdefs to use non-deprecated macros
I've been watching the test results; and it turns out I broke two of the C++11 tests, which only affects people running the tests on C++11 compilers. I fixed those this morning.
Any objections?
Go ahead. -- -- Grafik - Don't Assume Anything -- Redshift Software, Inc. - http://redshift-software.com -- rrivera/acm.org (msn) - grafik/redshift-software.com -- 102708583/icq - grafikrobot/aim,yahoo,skype,efnet,gmail

On 15 July 2012 00:42, Marshall Clow <mclow.lists@gmail.com> wrote:
The deadline for bug fixes for 1.51 is tomorrow; and I'd like to merge the changes I made to the following libraries to release:
* Config - reorganized the c++11 macros * Unordered - changed #ifdefs to use non-deprecated macros * functional/hash - changed #ifdefs to use non-deprecated macros * Random - changed #ifdefs to use non-deprecated macros * Regex - changed #ifdefs to use non-deprecated macros * Math - changed #ifdefs to use non-deprecated macros
I've been watching the test results; and it turns out I broke two of the C++11 tests, which only affects people running the tests on C++11 compilers. I fixed those this morning.
You can merge hash, but unordered has some previous changes so you can't merge that. I'll merge it later. There are some test failures, but that's because some idiot (i.e. me) messed up hash last night, the test results were fine before that. btw. since you're renaming things, shouldn't BOOST_NO_CXX11_SMART_PTR be BOOST_NO_CXX11_HDR_MEMORY?

On Jul 15, 2012, at 1:20 AM, Daniel James wrote:
On 15 July 2012 00:42, Marshall Clow <mclow.lists@gmail.com> wrote:
The deadline for bug fixes for 1.51 is tomorrow; and I'd like to merge the changes I made to the following libraries to release:
* Config - reorganized the c++11 macros * Unordered - changed #ifdefs to use non-deprecated macros * functional/hash - changed #ifdefs to use non-deprecated macros * Random - changed #ifdefs to use non-deprecated macros * Regex - changed #ifdefs to use non-deprecated macros * Math - changed #ifdefs to use non-deprecated macros
I've been watching the test results; and it turns out I broke two of the C++11 tests, which only affects people running the tests on C++11 compilers. I fixed those this morning.
You can merge hash, but unordered has some previous changes so you can't merge that. I'll merge it later. There are some test failures, but that's because some idiot (i.e. me) messed up hash last night, the test results were fine before that.
btw. since you're renaming things, shouldn't BOOST_NO_CXX11_SMART_PTR be BOOST_NO_CXX11_HDR_MEMORY?
Probably, but I don't think we've got time to fix it for 1.51 (and watch the tests cycle) 1.51.0 Closed, except bug fixes and doc changes When: Monday, Jul 16, 2012 OTOH, if you think that it's worth doing for 1.51, I can do it. -- Marshall Marshall Clow Idio Software <mailto:mclow.lists@gmail.com> A.D. 1517: Martin Luther nails his 95 Theses to the church door and is promptly moderated down to (-1, Flamebait). -- Yu Suzuki

On 15 July 2012 14:56, Marshall Clow <mclow.lists@gmail.com> wrote:
On Jul 15, 2012, at 1:20 AM, Daniel James wrote:
btw. since you're renaming things, shouldn't BOOST_NO_CXX11_SMART_PTR be BOOST_NO_CXX11_HDR_MEMORY?
Probably, but I don't think we've got time to fix it for 1.51 (and watch the tests cycle) 1.51.0 Closed, except bug fixes and doc changes When: Monday, Jul 16, 2012
OTOH, if you think that it's worth doing for 1.51, I can do it.
No, not for 1.51.

btw. since you're renaming things, shouldn't BOOST_NO_CXX11_SMART_PTR be BOOST_NO_CXX11_HDR_MEMORY?
Probably, but I don't think we've got time to fix it for 1.51 (and watch the tests cycle) 1.51.0 Closed, except bug fixes and doc changes When: Monday, Jul 16, 2012
No there are several new additions to <memory> and compilers/libraries are adding them piecemeal so there are several macros as a result: no one implements all of the new stuff in <memory> to my knowledge, but several platforms have bits and pieces that are useful. John.

btw. since you're renaming things, shouldn't BOOST_NO_CXX11_SMART_PTR be BOOST_NO_CXX11_HDR_MEMORY?
cannot comment on this specific case, but the presence of a header is one thing, the implementation is another: * some compilers provide <atomic> but with an implementation that is incomplete ... * some compilers (at least gcc-4.3) implement rvalue references, but stl containers do not provide emplace semantics. so one does not have precise control via BOOST_NO_RVALUE_REFERENCES. tim

On Sun, Jul 15, 2012 at 7:25 AM, Tim Blechmann <tim@klingt.org> wrote: [...]
* some compilers (at least gcc-4.3) implement rvalue references, but stl containers do not provide emplace semantics. so one does not have precise control via BOOST_NO_RVALUE_REFERENCES.
I don't think BOOST_NO_RVALUE_REFERENCES (now BOOST_NO_CXX11_RVALUE_REFERENCES) should be used as any indication of presence/absence of emplace member functions. That would be another macro entirely. - Jeff

* some compilers (at least gcc-4.3) implement rvalue references, but stl containers do not provide emplace semantics. so one does not have precise control via BOOST_NO_RVALUE_REFERENCES.
I don't think BOOST_NO_RVALUE_REFERENCES (now BOOST_NO_CXX11_RVALUE_REFERENCES) should be used as any indication of presence/absence of emplace member functions. That would be another macro entirely.
true, especially as it is a compiler vs stdlib thing. but then the `correct' way is to have one preprocessor symbol for each container ... might be overkill ... tim

Tim Blechmann wrote:
* some compilers (at least gcc-4.3) implement rvalue references, but stl containers do not provide emplace semantics. so one does not have precise control via BOOST_NO_RVALUE_REFERENCES.
I don't think BOOST_NO_RVALUE_REFERENCES (now BOOST_NO_CXX11_RVALUE_REFERENCES) should be used as any indication of presence/absence of emplace member functions. That would be another macro entirely.
true, especially as it is a compiler vs stdlib thing.
Perhaps it would be useful to have a manifest constant that indicates a lack of complete support for a particular header -- a conforming implementation would not define that constant, then -- plus constants for each specific feature, but only as the need arises. Thus, in one conditional, a library could determine full conformance and otherwise can test for the various pieces wanted.
but then the `correct' way is to have one preprocessor symbol for each container ...
New feature manifest constants should be added as the need arises, not preemptively, to avoid unnecessary preprocessing bloat. _____ Rob Stewart robert.stewart@sig.com Software Engineer using std::disclaimer; Dev Tools & Components Susquehanna International Group, LLP http://www.sig.com ________________________________ IMPORTANT: The information contained in this email and/or its attachments is confidential. If you are not the intended recipient, please notify the sender immediately by reply and immediately delete this message and all its attachments. Any review, use, reproduction, disclosure or dissemination of this message or any attachment by an unintended recipient is strictly prohibited. Neither this message nor any attachment is intended as or should be construed as an offer, solicitation or recommendation to buy or sell any security or other financial instrument. Neither the sender, his or her employer nor any of their respective affiliates makes any warranties as to the completeness or accuracy of any of the information contained herein or that this message or any of its attachments is free of viruses.

I'll merge fix for #7116 (r79565) to the release branch tomorrow. It fixes warning on VC for Boost.LexicalCast. Any objections? -- Best regards, Antony Polukhin
participants (9)
-
Antony Polukhin
-
Daniel James
-
Jeffrey Lee Hellrung, Jr.
-
John Maddock
-
Marshall Clow
-
Rene Rivera
-
Steven Watanabe
-
Stewart, Robert
-
Tim Blechmann