Commit Graph

268 Commits

Author SHA1 Message Date
Eric Fiselier abd52cad84 Fix a handful of tests that fail in C++03
llvm-svn: 243392
2015-07-28 07:31:50 +00:00
Eric Fiselier 5fd308971d Fix warnings in test/std/language.support
llvm-svn: 242624
2015-07-18 21:17:16 +00:00
Eric Fiselier 88558e22b0 Cleanup tests that fail in C++1z and with Clang 3.8
llvm-svn: 242581
2015-07-17 22:27:43 +00:00
Marshall Clow 5cbce174d9 Mark two tests as failing on clang 3.8 (they failed on 3.7, too)
llvm-svn: 242375
2015-07-16 02:44:33 +00:00
Ed Schouten e0cf3b9a3c Make support for thread-unsafe C functions optional.
One of the aspects of CloudABI is that it aims to help you write code
that is thread-safe out of the box. This is very important if you want
to write libraries that are easy to reuse. For CloudABI we decided to
not provide the thread-unsafe functions. So far this is working out
pretty well, as thread-unsafety issues are detected really early on.

The following patch adds a knob to libc++,
_LIBCPP_HAS_NO_THREAD_UNSAFE_C_FUNCTIONS, that can be set to disable
thread-unsafe functions that can easily be avoided in practice. The
following functions are not thread-safe:

- <clocale>: locale handles should be preferred over setlocale().
- <cstdlib>: mbrlen(), mbrtowc() and wcrtomb() should be preferred over
  their non-restartable counterparts.
- <ctime>: asctime(), ctime(), gmtime() and localtime() are not
  thread-safe. The first two are also deprecated by POSIX.

Differential Revision:	http://reviews.llvm.org/D8703
Reviewed by:	marshall

llvm-svn: 240527
2015-06-24 08:44:38 +00:00
Marshall Clow 89102f0fa9 Implement uncaught_exceptions() using the newly added hooks in libc++abi, when available
llvm-svn: 238846
2015-06-02 15:33:38 +00:00
Eric Fiselier a84544ac7a Add TODO items and remove use of 'noexcept' in C++03 test.
llvm-svn: 238802
2015-06-02 01:25:34 +00:00
Eric Fiselier 4bcd428117 Address @danalberts comments on r237700
llvm-svn: 237740
2015-05-19 23:10:32 +00:00
Eric Fiselier deb3033cd2 Add compiler flag test support to LIT. Fix new/delete tests on apple-clang.
llvm-svn: 237700
2015-05-19 15:15:53 +00:00
Eric Fiselier ab8b1ced0a mark new/delete tests as XFAIL more carefully
llvm-svn: 237664
2015-05-19 03:41:22 +00:00
Eric Fiselier c1a44c4a53 [libcxx] Rework sized delete.
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
2015-05-19 02:03:22 +00:00
Marshall Clow 0e166e5a9a Fix for LWG Issue 2458: N3778 and new library deallocation signatures.
llvm-svn: 237592
2015-05-18 17:48:45 +00:00
Eric Fiselier ba7c3ff32f Remove statement with no effect inside tests.
llvm-svn: 233816
2015-04-01 15:49:02 +00:00
Marshall Clow b7361983d1 Fix a problem when calling throw_with_nested with a class marked 'final'. Thanks to STL @ Microsoft for the bug report.
llvm-svn: 232384
2015-03-16 15:10:28 +00:00
Eric Fiselier 4b7533a1dd Use generic feature name for sanitizers that replace new and delete
llvm-svn: 231841
2015-03-10 20:46:04 +00:00
Larisse Voufo e4864e0bc2 More on adding sized deallocation functions in libc++: Continuing from r229281, this adds version guards and test cases.
llvm-svn: 229968
2015-02-20 06:13:05 +00:00
Marshall Clow e21582e742 Walter Brown sent a list of tests which needed 'additional includes' to match what was in the standard. Added these includes to the tests. No changes to the library or test results.
llvm-svn: 225541
2015-01-09 20:25:52 +00:00
Eric Fiselier 5a83710e37 Move test into test/std subdirectory.
llvm-svn: 224658
2014-12-20 01:40:03 +00:00