Changes imported from Abseil "staging" branch:
- a74a7e9027e3f90835ae0f553f98be294781da18 Internal change by Abseil Team <absl-team@google.com> - 2d32db6ed063f93b67886b9c27602d5aea3c21f7 Add /D_SCL_SECURE_NO_WARNINGS to MSVC builds to disable c... by Jon Cohen <cohenjon@google.com> - 54f40318d1de67b6b25f8aa68343f8bbcde8c304 Use sized delete in FixedArray. by Chris Kennelly <ckennelly@google.com> - 193f50b3500ab1a102a00df4e05ad7b969e9337b Fixes some warnings that show up during builds with msvc. by Greg Miller <jgm@google.com> GitOrigin-RevId: a74a7e9027e3f90835ae0f553f98be294781da18 Change-Id: I6d2b1f496974a1399ca5db6b71274368c2699a59
This commit is contained in:
		
							parent
							
								
									cf1db73d2a
								
							
						
					
					
						commit
						f6eea9486a
					
				
					 5 changed files with 6 additions and 8 deletions
				
			
		|  | @ -33,7 +33,7 @@ if (MSVC) | |||
|   # /wd4267  conversion from 'size_t' to 'type2' | ||||
|   # /wd4800  force value to bool 'true' or 'false' (performance warning) | ||||
|   add_compile_options(/W3 /WX /wd4005 /wd4068 /wd4244 /wd4267 /wd4800) | ||||
|   add_definitions(/DNOMINMAX /DWIN32_LEAN_AND_MEAN=1 /D_CRT_SECURE_NO_WARNINGS) | ||||
|   add_definitions(/DNOMINMAX /DWIN32_LEAN_AND_MEAN=1 /D_CRT_SECURE_NO_WARNINGS /D_SCL_SECURE_NO_WARNINGS) | ||||
| else() | ||||
|   set(ABSL_STD_CXX_FLAG "-std=c++11" CACHE STRING "c++ std flag (default: c++11)") | ||||
| endif() | ||||
|  |  | |||
|  | @ -227,7 +227,7 @@ inline uint32_t SpinLock::TryLockInternal(uint32_t lock_value, | |||
|           kSpinLockHeld | lock_value | wait_cycles | sched_disabled_bit, | ||||
|           std::memory_order_acquire, std::memory_order_relaxed)) { | ||||
|   } else { | ||||
|     base_internal::SchedulingGuard::EnableRescheduling(sched_disabled_bit); | ||||
|     base_internal::SchedulingGuard::EnableRescheduling(sched_disabled_bit != 0); | ||||
|   } | ||||
| 
 | ||||
|   return lock_value; | ||||
|  |  | |||
|  | @ -458,7 +458,7 @@ class FixedArray { | |||
|       // Loop optimizes to nothing for trivially destructible T.
 | ||||
|       for (Holder* p = end(); p != begin();) (--p)->~Holder(); | ||||
|       if (IsAllocated(size())) { | ||||
|         ::operator delete[](begin()); | ||||
|         std::allocator<Holder>().deallocate(p_, n_); | ||||
|       } else { | ||||
|         this->AnnotateDestruct(size()); | ||||
|       } | ||||
|  | @ -470,17 +470,13 @@ class FixedArray { | |||
|    private: | ||||
|     Holder* MakeHolder(size_type n) { | ||||
|       if (IsAllocated(n)) { | ||||
|         return Allocate(n); | ||||
|         return std::allocator<Holder>().allocate(n); | ||||
|       } else { | ||||
|         this->AnnotateConstruct(n); | ||||
|         return this->data(); | ||||
|       } | ||||
|     } | ||||
| 
 | ||||
|     Holder* Allocate(size_type n) { | ||||
|       return static_cast<Holder*>(::operator new[](n * sizeof(Holder))); | ||||
|     } | ||||
| 
 | ||||
|     bool IsAllocated(size_type n) const { return n > inline_elements; } | ||||
| 
 | ||||
|     const size_type n_; | ||||
|  |  | |||
|  | @ -504,6 +504,7 @@ struct PickyDelete { | |||
| 
 | ||||
| TEST(FixedArrayTest, UsesGlobalAlloc) { absl::FixedArray<PickyDelete, 0> a(5); } | ||||
| 
 | ||||
| 
 | ||||
| TEST(FixedArrayTest, Data) { | ||||
|   static const int kInput[] = { 2, 3, 5, 7, 11, 13, 17 }; | ||||
|   absl::FixedArray<int> fa(std::begin(kInput), std::end(kInput)); | ||||
|  |  | |||
|  | @ -373,6 +373,7 @@ class any { | |||
|     return typeid(void); | ||||
|   } | ||||
| #endif  // ABSL_ANY_DETAIL_HAS_RTTI
 | ||||
| 
 | ||||
|  private: | ||||
|   // Tagged type-erased abstraction for holding a cloneable object.
 | ||||
|   class ObjInterface { | ||||
|  |  | |||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue