- Jan 20, 2017
-
-
Eric Fiselier authored
r292564 disabled the aligned new/delete overloads on platforms without posix_memalign. Unfortunately that patch also disabled the align_val_t definition in C++17 as well. This patch causes align_val_t to be exposed in C++17 regardless of if we have the new/delete overloads. llvm-svn: 292582
-
Eric Fiselier authored
Summary: This patch disables the aligned new/delet overloads on Apple platforms without `posix_memalign`. This fixes libc++.dylib build regressions on such platforms. This fixes http://llvm.org/PR31448. This patch should also be merged into the 4.0 release branch Reviewers: mclow.lists, rsmith, dexonsmith, jeremyhu Reviewed By: mclow.lists Subscribers: cfe-commits Differential Revision: https://reviews.llvm.org/D28931 llvm-svn: 292564
-
- Jan 07, 2017
-
-
Eric Fiselier authored
Summary: On Windows the identifier `__deallocate` is defined as a macro by one of the Windows system headers. Previously libc++ worked around this by `#undef __deallocate` and generating a warning. However this causes the WIN32 version of `__threading_support` to always generate a warning on Windows. This is not OK. This patch renames all usages of `__deallocate` internally as to not conflict with the macro. Reviewers: mclow.lists, majnemer, rnk, rsmith, smeenai, compnerd Subscribers: cfe-commits Differential Revision: https://reviews.llvm.org/D28426 llvm-svn: 291332
-
- Jan 03, 2017
-
-
Eric Fiselier authored
llvm-svn: 290845
-
- Nov 18, 2016
-
-
Shoaib Meenai authored
Fix a typo in the conditional. Caught by going through list of removed symbols when building with hidden visibility. Differential Revision: https://reviews.llvm.org/D26825 llvm-svn: 287309
-
- Nov 16, 2016
-
-
Shoaib Meenai authored
This is a generalization of `_LIBCPP_NEW_DELETE_VIS`; the new macro name captures the semantics better, and also allows us to get rid of the `_WIN32` check in `include/new`. No functional change. Differential Revision: https://reviews.llvm.org/D26702 llvm-svn: 287164
-
- Oct 14, 2016
-
-
Eric Fiselier authored
Summary: This patch implements the library side of P0035R4. The implementation is thanks to @rsmith. In addition to the C++17 implementation, the library implementation can be explicitly turned on using `-faligned-allocation` in all dialects. Reviewers: mclow.lists, rsmith Subscribers: rsmith, cfe-commits Differential Revision: https://reviews.llvm.org/D25591 llvm-svn: 284206
-
- Oct 12, 2016
-
-
Shoaib Meenai authored
The behavior of this macro actually needs to apply universally on Windows and not just when using the Microsoft CRT. Update the macro definition and documentation accordingly. Differential Revision: https://reviews.llvm.org/D25145 llvm-svn: 284016
-
- Sep 29, 2016
-
-
Shoaib Meenai authored
Replace a stale reference to cxx_EXPORTS with _LIBCPP_BUILDING_LIBRARY, and clarify why the operator new and delete family of functions are marked dllexport when building but *not* dllimport when including the header externally. The new code is identical to the intent of the old code (and would be functionally equivalent were cxx_EXPORTS still defined when building libc++). The overall behavior is not ideal, since Microsoft's operator new and delete functions will get called instead of libc++'s, but I think consistently calling msvcrt's functions is better than either calling msvcrt's or libc++'s functions depending on header inclusion. Differential Revision: https://reviews.llvm.org/D25042 llvm-svn: 282644
-
- Sep 06, 2016
-
-
Eric Fiselier authored
This patch removes the `<cstdlib>` include from exception where it is no longer needed. Unlike my previous attempt this patch also adds <cstdlib> where needed in other headers like <new> and <typeinfo>. This won't fix the Firefox build issues discussed on IRC but it is more correct for libc++. llvm-svn: 280754
-
- Aug 25, 2016
-
-
Marshall Clow authored
Add an _LIBCPP_NORETURN inline function named __throw_XXX for each exception type we define. They either construct and throw the exception, or abort() (if exceptions are disabled). Use these functions everywhere instead of assert()ing when exceptions are disabled. WARNING: This is a behavior change - but only with exceptions disabled. Reviewed as: https://reviews.llvm.org/D23855. llvm-svn: 279744
-
- May 19, 2015
-
-
Eric Fiselier authored
Summary: This patch does 2 main things: 1. Enable sized delete if the feature test macro `__cpp_sized_deallocation` is enabled. 2. Rework and cleanup all of the sized delete tests. Test Plan: The sized delete replacement tests are now split into 4 files: 1. sized_delete11.pass.cpp: Ensure overriding sized delete in C++11 has no effect. 2. sized_delete14.pass.cpp: Test overriding sized delete in C++14 and ensure it is called. This test fails on clang and GCC < 5.1. 3. size_delete_calls_unsized_delete_.pass.cpp: Test that the default sized delete calls unsized delete. 4. sized_delete_fsizeddeallocation.pass.cpp: Test overriding sized delete when -fsized-deallocation is passed. This test should pass on clang and GCC >= 5.1 I have also removed a lot of cruft from the old tests. They no longer replace the new handler and tests that it is called for bad allocations. Reviewers: mclow.lists Reviewed By: mclow.lists Subscribers: cfe-commits Differential Revision: http://reviews.llvm.org/D9831 llvm-svn: 237662
-
- May 18, 2015
-
-
Marshall Clow authored
llvm-svn: 237592
-
- Feb 20, 2015
-
-
Larisse Voufo authored
More on adding sized deallocation functions in libc++: Continuing from r229281, this adds version guards and test cases. llvm-svn: 229968
-
- Feb 15, 2015
-
-
Larisse Voufo authored
Implement C++14's sized deallocation functions, since there are no longer implicitly defined by clang, as of r229241. llvm-svn: 229281
-
- Feb 13, 2015
-
-
Saleem Abdulrasool authored
Visual Studio's SAL extension uses a macro named __deallocate. This macro is used pervasively, and gets included through various different ways. This conflicts with the similarly named interfaces in libc++. Introduce a undef header similar to __undef_min_max to handle this. This fixes a number of errors due to the macro replacing the function name. llvm-svn: 229162
-
- Jun 04, 2014
-
-
Richard Smith authored
allows allocations and deallocations to be optimized out. llvm-svn: 210211
-
- Nov 07, 2013
-
-
Howard Hinnant authored
llvm-svn: 194207
-
- Oct 06, 2013
-
-
Howard Hinnant authored
llvm-svn: 192071
-
- Oct 05, 2013
-
-
Howard Hinnant authored
G M: Changes all references to "x inline" to "inline x" where x = _libcpp_always_inline or _libcpp_inline_visibility macros. The patch touches these files: locale array deque new string utility vector __bit_reference __split_buffer locale_win32.h There is no intended functionality change and it is expected that reversing the position of the inline keyword with regard to the other keywords does not change the meaning of anything, least not for apple/Linux etc. It is intended to make libcxx more consistent with itself and to prevent the 1000 or so "inline.cpp(3) : warning C4141: 'inline' : used more than once" warnings that MS's cl.exe compiler emits without this patch, i.e. if inline is not the first keyword before a function name etc. Prefer "inline [other inline related keyword]" over "[other related keyword] inline". After this patch, libcxx should be consistent to this pattern. llvm-svn: 191987
-
- Sep 11, 2013
-
-
Marshall Clow authored
llvm-svn: 190478
-
- Aug 12, 2013
-
-
Howard Hinnant authored
Nico Rieck: this patch series fixes visibility issues on Windows as explained in <http://lists.cs.uiuc.edu/pipermail/cfe-dev/2013-August/031214.html>. llvm-svn: 188192
-
- Mar 07, 2013
-
-
Howard Hinnant authored
No functionality change at this time. I've split _LIBCPP_VISIBLE up into two flags: _LIBCPP_TYPE_VIS and _LIBCPP_FUNC_VIS. This is in preparation for taking advantage of clang's new __type_visibility__ attribute. llvm-svn: 176593
-
- Jun 28, 2012
-
-
Nuno Lopes authored
llvm-svn: 159359
-
- Oct 17, 2011
-
-
Howard Hinnant authored
llvm-svn: 142235
-
- Jun 14, 2011
-
-
Howard Hinnant authored
Provide names for template and function parameters in forward declarations. The purpose is to aid automated documentation tools. llvm-svn: 133008
-
- May 26, 2011
-
-
Howard Hinnant authored
llvm-svn: 132129
-
- Dec 02, 2010
-
-
Howard Hinnant authored
llvm-svn: 120712
-
- Nov 16, 2010
-
-
Howard Hinnant authored
llvm-svn: 119395
-
- Sep 22, 2010
-
-
Howard Hinnant authored
llvm-svn: 114559
-
- Aug 22, 2010
-
-
Howard Hinnant authored
llvm-svn: 111778
-
- May 14, 2010
-
-
Nick Kledzik authored
llvm-svn: 103795
-
- May 11, 2010
-
-
Howard Hinnant authored
llvm-svn: 103516
-
Howard Hinnant authored
llvm-svn: 103490
-