Skip to content
  1. Jan 20, 2017
  2. Jan 07, 2017
    • Eric Fiselier's avatar
      [libc++] Tolerate presence of __deallocate macro · cd71f447
      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
      cd71f447
  3. Jan 03, 2017
  4. Nov 18, 2016
  5. Nov 16, 2016
  6. Oct 14, 2016
  7. Oct 12, 2016
  8. Sep 29, 2016
    • Shoaib Meenai's avatar
      [libc++] Clarify _LIBCPP_NEW_DELETE_VIS for Windows · 3888eb66
      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
      3888eb66
  9. Sep 06, 2016
    • Eric Fiselier's avatar
      Try 2 - Remove <cstdlib> include from `<exception>` · b683ec20
      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
      b683ec20
  10. Aug 25, 2016
  11. May 19, 2015
    • Eric Fiselier's avatar
      [libcxx] Rework sized delete. · c1a44c4a
      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
      c1a44c4a
  12. May 18, 2015
  13. Feb 20, 2015
  14. Feb 15, 2015
  15. Feb 13, 2015
    • Saleem Abdulrasool's avatar
      Handle function name conflicts in _LIBCPP_MSVCRT mode · 8e5ce331
      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
      8e5ce331
  16. Jun 04, 2014
  17. Nov 07, 2013
  18. Oct 06, 2013
  19. Oct 05, 2013
    • Howard Hinnant's avatar
      G M: Changes all references to "x inline" to "inline x" where x =... · 3af48ef7
      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
      3af48ef7
  20. Sep 11, 2013
  21. Aug 12, 2013
  22. Mar 07, 2013
  23. Jun 28, 2012
  24. Oct 17, 2011
  25. Jun 14, 2011
  26. May 26, 2011
  27. Dec 02, 2010
  28. Nov 16, 2010
  29. Sep 22, 2010
  30. Aug 22, 2010
  31. May 14, 2010
  32. May 11, 2010
Loading