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:
Abseil Team 2018-01-25 10:52:02 -08:00 committed by John Olson
parent cf1db73d2a
commit f6eea9486a
5 changed files with 6 additions and 8 deletions

View file

@ -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_;