forked from boostorg/smart_ptr
shared_ptr_delete_fail.cpp added (reported by Dan Bikel)
[SVN r27888]
This commit is contained in:
@ -1,6 +1,6 @@
|
|||||||
# Boost.SmartPtr Library test Jamfile
|
# Boost.SmartPtr Library test Jamfile
|
||||||
#
|
#
|
||||||
# Copyright (c) 2003 Peter Dimov
|
# Copyright (c) 2003-2005 Peter Dimov
|
||||||
# Copyright (c) 2003 Dave Abrahams
|
# Copyright (c) 2003 Dave Abrahams
|
||||||
#
|
#
|
||||||
# Permission to copy, use, modify, sell and distribute this software
|
# Permission to copy, use, modify, sell and distribute this software
|
||||||
@ -28,6 +28,7 @@ DEPENDS all : smart_ptr ;
|
|||||||
[ run intrusive_ptr_test.cpp ]
|
[ run intrusive_ptr_test.cpp ]
|
||||||
[ run atomic_count_test.cpp ]
|
[ run atomic_count_test.cpp ]
|
||||||
[ compile-fail shared_ptr_assign_fail.cpp ]
|
[ compile-fail shared_ptr_assign_fail.cpp ]
|
||||||
|
[ compile-fail shared_ptr_delete_fail.cpp ]
|
||||||
;
|
;
|
||||||
|
|
||||||
# this one is too slow to run unless explicitly requested, and ALL
|
# this one is too slow to run unless explicitly requested, and ALL
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
# Boost.SmartPtr Library test Jamfile
|
# Boost.SmartPtr Library test Jamfile
|
||||||
#
|
#
|
||||||
# Copyright (c) 2003 Peter Dimov
|
# Copyright (c) 2003-2005 Peter Dimov
|
||||||
# Copyright (c) 2003 Dave Abrahams
|
# Copyright (c) 2003 Dave Abrahams
|
||||||
#
|
#
|
||||||
# Permission to copy, use, modify, sell and distribute this software
|
# Permission to copy, use, modify, sell and distribute this software
|
||||||
@ -22,16 +22,6 @@ import testing ;
|
|||||||
[ run intrusive_ptr_test.cpp ]
|
[ run intrusive_ptr_test.cpp ]
|
||||||
[ run atomic_count_test.cpp ]
|
[ run atomic_count_test.cpp ]
|
||||||
[ compile-fail shared_ptr_assign_fail.cpp ]
|
[ compile-fail shared_ptr_assign_fail.cpp ]
|
||||||
|
[ compile-fail shared_ptr_delete_fail.cpp ]
|
||||||
;
|
;
|
||||||
|
|
||||||
# this one is too slow to run unless explicitly requested, and ALL
|
|
||||||
# tests are run by default when this file is subincluded from
|
|
||||||
# boost/status, so it's guarded from that case. It will only be
|
|
||||||
# built from this directory when the targets "test" (all tests) or
|
|
||||||
# "shared_ptr_alloc_test" are requested.
|
|
||||||
#!!!
|
|
||||||
#if [ in-invocation-subdir ]
|
|
||||||
#{
|
|
||||||
# run shared_ptr_alloc_test.cpp ;
|
|
||||||
#}
|
|
||||||
}
|
}
|
||||||
|
27
test/shared_ptr_delete_fail.cpp
Normal file
27
test/shared_ptr_delete_fail.cpp
Normal file
@ -0,0 +1,27 @@
|
|||||||
|
#include <boost/config.hpp>
|
||||||
|
|
||||||
|
#if defined(BOOST_MSVC)
|
||||||
|
#pragma warning(disable: 4786) // identifier truncated in debug info
|
||||||
|
#pragma warning(disable: 4710) // function not inlined
|
||||||
|
#pragma warning(disable: 4711) // function selected for automatic inline expansion
|
||||||
|
#pragma warning(disable: 4514) // unreferenced inline removed
|
||||||
|
#endif
|
||||||
|
|
||||||
|
//
|
||||||
|
// shared_ptr_delete_fail.cpp - a negative test for "delete sp;"
|
||||||
|
//
|
||||||
|
// Copyright 2005 Peter Dimov
|
||||||
|
//
|
||||||
|
// Distributed under the Boost Software License, Version 1.0. (See
|
||||||
|
// accompanying file LICENSE_1_0.txt or copy at
|
||||||
|
// http://www.boost.org/LICENSE_1_0.txt)
|
||||||
|
//
|
||||||
|
|
||||||
|
#include <boost/shared_ptr.hpp>
|
||||||
|
|
||||||
|
int main()
|
||||||
|
{
|
||||||
|
boost::shared_ptr<int> p;
|
||||||
|
delete p; // must fail
|
||||||
|
return 0;
|
||||||
|
}
|
Reference in New Issue
Block a user