mirror of
				https://github.com/boostorg/smart_ptr.git
				synced 2025-11-04 01:31:51 +01:00 
			
		
		
		
	Negative test for conversion to void*
[SVN r37756]
This commit is contained in:
		@@ -36,6 +36,7 @@ DEPENDS all : smart_ptr ;
 | 
			
		||||
          [ run shared_ptr_alias_test.cpp ]
 | 
			
		||||
          [ run shared_ptr_rv_test.cpp ]
 | 
			
		||||
          [ run shared_ptr_move_test.cpp ]
 | 
			
		||||
          [ compile-fail shared_ptr_pv_fail.cpp ]
 | 
			
		||||
        ;
 | 
			
		||||
    
 | 
			
		||||
    # this one is too slow to run unless explicitly requested, and ALL
 | 
			
		||||
 
 | 
			
		||||
@@ -31,5 +31,6 @@ import testing ;
 | 
			
		||||
          [ run shared_ptr_alias_test.cpp ]
 | 
			
		||||
          [ run shared_ptr_rv_test.cpp ]
 | 
			
		||||
          [ run shared_ptr_move_test.cpp ]
 | 
			
		||||
          [ compile-fail shared_ptr_pv_fail.cpp ]
 | 
			
		||||
        ;
 | 
			
		||||
}
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										31
									
								
								test/shared_ptr_pv_fail.cpp
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										31
									
								
								test/shared_ptr_pv_fail.cpp
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,31 @@
 | 
			
		||||
#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_pv_fail.cpp - a negative test for converting a shared_ptr to void*
 | 
			
		||||
//
 | 
			
		||||
//  Copyright 2007 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>
 | 
			
		||||
 | 
			
		||||
void f( void* )
 | 
			
		||||
{
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
int main()
 | 
			
		||||
{
 | 
			
		||||
    boost::shared_ptr<int> p;
 | 
			
		||||
    f( p ); // must fail
 | 
			
		||||
    return 0;
 | 
			
		||||
}
 | 
			
		||||
		Reference in New Issue
	
	Block a user