| 109 | } |
| 110 | |
| 111 | void AlignedDelete(void* ptr, std::align_val_t alignment) noexcept { |
| 112 | ABSL_DCHECK(absl::has_single_bit(static_cast<size_t>(alignment))); |
| 113 | #ifdef CEL_INTERNAL_HAVE_ALIGNED_NEW |
| 114 | ::operator delete(ptr, alignment); |
| 115 | #else |
| 116 | if (static_cast<size_t>(alignment) <= kDefaultNewAlignment) { |
| 117 | ::operator delete(ptr); |
| 118 | } else { |
| 119 | #if defined(_MSC_VER) |
| 120 | _aligned_free(ptr); |
| 121 | #else |
| 122 | std::free(ptr); |
| 123 | #endif |
| 124 | } |
| 125 | #endif |
| 126 | } |
| 127 | |
| 128 | void SizedAlignedDelete(void* ptr, size_t size, |
| 129 | std::align_val_t alignment) noexcept { |
no outgoing calls