| Commit message (Collapse) | Author | Age | Files | Lines |
| ... | |
| |
|
|
|
|
|
| |
WebAssembly's integer division instruction traps on division by zero; set the
traps field of integral std::numeric_limits to true.
llvm-svn: 257612
|
| |
|
|
| |
llvm-svn: 257506
|
| |
|
|
|
|
| |
Fixes bugs #26120 and #26121. Thanks to Jonathan Wakely for the reports and the patches.
llvm-svn: 257474
|
| |
|
|
|
|
|
| |
r251131 replaced LANG with LC_COLLATE. But LC_ALL has precedence
over both, so the test still fails when LC_ALL=C.
llvm-svn: 257018
|
| |
|
|
|
|
| |
already. NFC
llvm-svn: 256864
|
| |
|
|
|
|
| |
functional change
llvm-svn: 256861
|
| |
|
|
|
|
| |
braced-init syntax'
llvm-svn: 256859
|
| |
|
|
| |
llvm-svn: 256772
|
| |
|
|
| |
llvm-svn: 256729
|
| |
|
|
| |
llvm-svn: 256621
|
| |
|
|
| |
llvm-svn: 256598
|
| |
|
|
| |
llvm-svn: 256594
|
| |
|
|
|
|
| |
Tested on Linux x86_64 targeting Linux x86_64.
llvm-svn: 256592
|
| |
|
|
| |
llvm-svn: 256591
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This patch makes it easier to support running the lit tests for new and
unusual platforms. It will break existing users that set
LIBCXX_TARGET_INFO to anything other than the default. I think this is
fine, because the old LIBCXX_TARGET_INFO wasn't terribly useful.
The old way of supporting the different test platforms was to have
conditional code scattered throughout config.py. New platforms would need
to add conditionals there. Alternatively, the new platform could set
no_default_flags to true, and reconstitue almost the entire compile and
link line, including things that don't vary across platforms.
The new way of supporting new platforms is to create a new target info
class, and have make_target_info return an instance of it. For platforms
supported in-tree, that will be done by modifying make_target_info. For
out-of-tree platforms, users can set LIBCXX_TARGET_INFO at cmake configure
time.
The target info sub-classes can provide fine-grained information back to
config.py. The hooks that will most commonly be provided will be
add_cxx_compile_flags and add_cxx_link_flags. These hooks can provide the
platform specific flags, while letting config.py handle all the invariant
flags.
Target info hooks were added for each area that the existing config.py had
platform specific behavior. config.py is now mostly free of platform
specific conditionals.
This patch was tested on Linux x86_64. I both targeted Linux x86_64, and
an out-of-tree platform with a custom target_info. In both cases I was
able to run libcxx and libcxxabi tests. I do not have access to FreeBSD,
Darwin, or Windows machines that are set up for lit testing.
llvm-svn: 256588
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
constructors.
Summary: This patch implements the solution for LWG Issue #2367. See http://cplusplus.github.io/LWG/lwg-active.html#2367
Reviewers: mclow.lists, EricWF
Subscribers: cfe-commits
Differential Revision: http://reviews.llvm.org/D13750
llvm-svn: 256325
|
| |
|
|
| |
llvm-svn: 255944
|
| |
|
|
|
|
|
| |
K-Ballo.
Review: http://reviews.llvm.org/D14839
llvm-svn: 255941
|
| |
|
|
|
|
|
|
|
|
|
|
| |
This patch goes through and enables C++11 and C++14 features for newer GCC's.
The main changes are:
1. Turn on variable templates. (Uses __cpp_variable_templates)
2. Assert atomic<Tp> is trivially copyable (Uses _GNUC_VER >= 501).
3. Turn on trailing return support for GCC. (Uses _GNUC_VER >= 404)
4. XFAIL void_t test for GCC 5.1 and 5.2. Fixed in GCC 6.
llvm-svn: 255585
|
| |
|
|
| |
llvm-svn: 255560
|
| |
|
|
|
|
| |
more of them are passing. Thanks
llvm-svn: 255519
|
| |
|
|
|
|
| |
had a deleted operator&. Added a test to catch this as well. Thanks to Ville for the heads-up.
llvm-svn: 255517
|
| |
|
|
| |
llvm-svn: 255513
|
| |
|
|
| |
llvm-svn: 255162
|
| |
|
|
| |
llvm-svn: 254290
|
| |
|
|
| |
llvm-svn: 254289
|
| |
|
|
| |
llvm-svn: 254288
|
| |
|
|
| |
llvm-svn: 254287
|
| |
|
|
| |
llvm-svn: 254285
|
| |
|
|
| |
llvm-svn: 254284
|
| |
|
|
| |
llvm-svn: 254283
|
| |
|
|
|
|
| |
allocator's value_type match the container's value_type. vector/unordered/list/string already do this. Add tests for all the containers to verify this.
llvm-svn: 254119
|
| |
|
|
|
|
| |
differently on different C libraries.
llvm-svn: 254050
|
| |
|
|
|
|
| |
type of the allocators match the value type of the containers
llvm-svn: 254030
|
| |
|
|
| |
llvm-svn: 253382
|
| |
|
|
| |
llvm-svn: 253376
|
| |
|
|
|
|
| |
function template.
llvm-svn: 253274
|
| |
|
|
| |
llvm-svn: 253271
|
| |
|
|
| |
llvm-svn: 253257
|
| |
|
|
|
|
| |
Add tests to make sure we meet these requirements. Since we met the stricter ones, no code change needed to meet the looser ones.
llvm-svn: 253223
|
| |
|
|
|
|
| |
implementation (__and_, __or_, and __not_) so that we can use them elsewhere in non-C++17 code - for example, in the LFTS
llvm-svn: 253215
|
| |
|
|
| |
llvm-svn: 252905
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The initial buildbot run found a few missing bits in the initial XFAIL list
for the no-exceptions libc++ variant. These discrepancies are as follows:
[1] Following two tests need XFAILs on the no-exceptions library variant.
My local runs had these two disabled for other reasons (unsupported):
- localization/locales/locale/locale.cons/char_pointer.pass.cpp
- numerics/complex.number/complex.ops/complex_divide_complex.pass.cpp
[2] These three does not need XFAILs, they were failing on my local runs for
other reasons:
- depr/depr.c.headers/uchar_h.pass.cpp
- input.output/iostreams.base/ios/basic.ios.members/copyfmt.pass.cpp
- .../category.collate/locale.collate.byname/transform.pass.cpp
(these are failing on my box for the default build as well)
The current patch fixes both the cases above. Additionally, I've run the
following scan to make sure I've covered all the cases:
> grep ' catch \| try \| throw ' -R . | perl -pe 's|(.*?):.*|\1|' | sort | \
uniq > 1.txt
> grep 'libcpp-no-exceptions' -R . | perl -pe 's|(.*?):.*|\1|' | sort | \
uniq > 2.txt
> diff 1.txt 2.txt
This showed up a few extra interesting cases:
[3] These two tests do not use try/catch/throw statements, but they fail at
runtime. Need to be investigated, I've left the XFAILs in.
- std/thread/futures/futures.shared_future/dtor.pass.cpp
- std/thread/futures/futures.unique_future/dtor.pass.cpp
[4] These tests use a macro named TEST_HAS_NO_EXCEPTIONS to conditionally
exclude try/catch/throw statements when running without exceptions. I'm not
entirely sure why this was needed (AFAIK, we didn't have a no-exceptions
library build before). The macro's defintion is quite similar to that of
_LIBCPP_NO_EXCEPTIONS. I will investigate if this can be reused for my test
fixes or if it should be replaced with _LIBCPP_NO_EXCEPTIONS.
- std/experimental/any/*
Change-Id: I9ad1e0edd78f305406eaa0ab148b1ab693f7e26a
llvm-svn: 252870
|
| |
|
|
| |
llvm-svn: 252614
|
| |
|
|
| |
llvm-svn: 252613
|
| |
|
|
|
|
| |
uncovered a couple bugs in the _v type traits. Fixed those, too
llvm-svn: 252612
|
| |
|
|
|
|
| |
the bug report.
llvm-svn: 252610
|
| |
|
|
|
|
|
|
|
|
|
|
| |
Fixes a small omission in libcxx that prevents libcxx being built when
-DLIBCXX_ENABLE_EXCEPTIONS=0 is specified.
This patch adds XFAILS to all those tests that are currently failing
on the new -fno-exceptions library variant. Follow-up patches will
update the tests (progressively) to cope with the new library variant.
Change-Id: I4b801bd8d8e4fe7193df9e55f39f1f393a8ba81a
llvm-svn: 252598
|
| |
|
|
| |
llvm-svn: 252458
|
| |
|
|
| |
llvm-svn: 252407
|