
On Thu, Apr 24, 2008 at 2:03 PM, Eric Niebler <eric@boost-consulting.com> wrote:
Mat Marcus wrote:
On Thu, Apr 24, 2008 at 12:53 AM, James Talbut <James.Talbut@omg3d.com> wrote:
Hi,
There have been various discussions on here about the problems caused by _SECURE_SCL, but I haven't seen any concrete plans for changes to boost build to handle it.
At a minimum the build system should be changed to enable those users wanting _SECURE_SCL=0 to do so easily - ideally by providing an argument to bjam.
Is someone working on this?
I'd love to see someone pick up the ball on this one. For what it's worth, I've patched my local msvc.jam to add the feature:
feature.feature stl-security-theater : off on : propagated link-incompatible ;
flags msvc.compile C++FLAGS <stl-security-theater>off : /D_SECURE_SCL=0 ; flags msvc.compile C++FLAGS <stl-security-theater>on : /D_SCL_SECURE=1 ;
As a result of our analysis of the benefits vs. performance of the "feature", I've set _SECURE_SCL=0 off by default. I asked on the build list how to augment library name mangling to make it safer, but haven't received a reply yet, so I may have to study a bit to make it better. But I will probably just ship it as above with Adobe Source Libraries 1.037.
Hi Mat,
Is it the secure SCL that is causing your problem, or more specifically the iterator debugging feature? I agree that MSVC's iterator debugging can cause huge performance problems, and I've had to disable it in the accumulator's tests to get them to complete in any reasonable amount of time.
[snip] I maintain that _SECURE_SCL must be 0 by default for (at least) *release* builds. This is different from the MS default. I posted my rationale and some benchmark results at http://easyurl.net/high_cost , in case you are interested. As far as I know iterator debugging is not turned on by default for release builds, so it is not my primary concern here. Please let me know if I have missed something, though. Thanks for the suggestion, Mat