diff options
| author | Andrew Kelley <andrew@ziglang.org> | 2024-04-26 15:33:29 -0700 |
|---|---|---|
| committer | Andrew Kelley <andrew@ziglang.org> | 2024-05-08 19:37:29 -0700 |
| commit | 06ee65af9ed6aa5ee4d1d7f4fab9d7acecf66e76 (patch) | |
| tree | 1316711b92a43dd5c599e425b8693fa8e1e0c0b7 /lib/libcxx/src/valarray.cpp | |
| parent | bc6ebc6f2597fda1f98842c6f545751fef2a5334 (diff) | |
| download | zig-06ee65af9ed6aa5ee4d1d7f4fab9d7acecf66e76.tar.gz zig-06ee65af9ed6aa5ee4d1d7f4fab9d7acecf66e76.zip | |
libcxx: update to LLVM 18
release/18.x branch, commit 78b99c73ee4b96fe9ce0e294d4632326afb2db42
This adds the flag `-D_LIBCPP_HARDENING_MODE` which is determined based
on the Zig optimization mode.
This commit also fixes libunwind, libcxx, and libcxxabi to properly
report sub compilation errors.
Diffstat (limited to 'lib/libcxx/src/valarray.cpp')
| -rw-r--r-- | lib/libcxx/src/valarray.cpp | 56 |
1 files changed, 24 insertions, 32 deletions
diff --git a/lib/libcxx/src/valarray.cpp b/lib/libcxx/src/valarray.cpp index f377e0f4e8..6ef1f1cafc 100644 --- a/lib/libcxx/src/valarray.cpp +++ b/lib/libcxx/src/valarray.cpp @@ -18,40 +18,32 @@ template _LIBCPP_EXPORTED_FROM_ABI valarray<size_t>::~valarray(); template void valarray<size_t>::resize(size_t, size_t); -void -gslice::__init(size_t __start) -{ - valarray<size_t> __indices(__size_.size()); - size_t __k = __size_.size() != 0; - for (size_t __i = 0; __i < __size_.size(); ++__i) - __k *= __size_[__i]; - __1d_.resize(__k); - if (__1d_.size()) - { - __k = 0; - __1d_[__k] = __start; - while (true) - { - size_t __i = __indices.size() - 1; - while (true) - { - if (++__indices[__i] < __size_[__i]) - { - ++__k; - __1d_[__k] = __1d_[__k-1] + __stride_[__i]; - for (size_t __j = __i + 1; __j != __indices.size(); ++__j) - __1d_[__k] -= __stride_[__j] * (__size_[__j] - 1); - break; - } - else - { - if (__i == 0) - return; - __indices[__i--] = 0; - } - } +void gslice::__init(size_t __start) { + valarray<size_t> __indices(__size_.size()); + size_t __k = __size_.size() != 0; + for (size_t __i = 0; __i < __size_.size(); ++__i) + __k *= __size_[__i]; + __1d_.resize(__k); + if (__1d_.size()) { + __k = 0; + __1d_[__k] = __start; + while (true) { + size_t __i = __indices.size() - 1; + while (true) { + if (++__indices[__i] < __size_[__i]) { + ++__k; + __1d_[__k] = __1d_[__k - 1] + __stride_[__i]; + for (size_t __j = __i + 1; __j != __indices.size(); ++__j) + __1d_[__k] -= __stride_[__j] * (__size_[__j] - 1); + break; + } else { + if (__i == 0) + return; + __indices[__i--] = 0; } + } } + } } _LIBCPP_END_NAMESPACE_STD |
