| Commit message (Collapse) | Author | Age | Files | Lines |
... | |
|
|
|
| |
llvm-svn: 256772
|
|
|
|
| |
llvm-svn: 256729
|
|
|
|
|
|
|
|
|
|
|
| |
"__as_link()" can only be used safely on "__list_node" objects. This patch
moves the "__as_link()" member function from "__list_node_base" to "__list_node"
so it cannot be used incorrectly.
Unsafe downcasts now use a non-member function so we don't defer the type-punned
pointer.
llvm-svn: 256727
|
|
|
|
| |
llvm-svn: 256654
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Summary:
This patch fixes std::list for builtin pointer types in the current ABI version and fixes std::list for all fancy pointer types in the next ABI version. The patch was designed to minimize the amount of code needed to support both ABI configurations. Currently only ~5 lines of code differ.
Reviewers: danalbert, jroelofs, mclow.lists
Subscribers: dexonsmith, awi, cfe-commits
Differential Revision: http://reviews.llvm.org/D12299
llvm-svn: 256652
|
|
|
|
| |
llvm-svn: 256621
|
|
|
|
| |
llvm-svn: 256614
|
|
|
|
| |
llvm-svn: 256606
|
|
|
|
| |
llvm-svn: 256598
|
|
|
|
| |
llvm-svn: 256597
|
|
|
|
| |
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
|
|
|
|
|
|
| |
CLion needs similar configuration changes as MSVC_IDE and XCODE.
llvm-svn: 255851
|
|
|
|
|
|
| |
declarations.
llvm-svn: 255738
|
|
|
|
| |
llvm-svn: 255734
|
|
|
|
| |
llvm-svn: 255686
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Summary:
This patch allows GCC 4.6 and above to use `noexcept` as opposed to `throw()`.
Is it an ABI safe change to suddenly switch on `noexcept`? I imagine it must be because it's disabled in w/ clang in C++03 but not C++11.
Reviewers: danalbert, jroelofs, mclow.lists
Subscribers: cfe-commits
Differential Revision: http://reviews.llvm.org/D15516
llvm-svn: 255683
|
|
|
|
|
|
| |
doesn't complain.
llvm-svn: 255599
|
|
|
|
|
|
|
|
|
|
|
|
| |
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: 255561
|
|
|
|
| |
llvm-svn: 255560
|
|
|
|
|
|
| |
more of them are passing. Thanks
llvm-svn: 255519
|
|
|
|
| |
llvm-svn: 255518
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
| |
Printf is a builtin, and the check fails with -Werror because of a clang
warning about an incompatible redeclaration.
llvm-svn: 255187
|
|
|
|
|
|
| |
overloads
llvm-svn: 255185
|
|
|
|
|
|
|
|
|
|
| |
No point in pretending that these methods are hidden - they are
actually exported from libc++.so. Extern template declarations make
them part of libc++ ABI.
This patch does not change libc++.so export list (at least on Linux).
llvm-svn: 255177
|
|
|
|
|
|
|
|
|
| |
These are the cases when an out-of-class definition of a method is
marked _LIBCPP_INLINE_VISIBILITY, but the in-class declaration is
not. This will start failing when (or if) we switch to
attribute((internal_linkage)).
llvm-svn: 255166
|
|
|
|
| |
llvm-svn: 255162
|
|
|
|
| |
llvm-svn: 254971
|
|
|
|
|
|
|
|
| |
"all" target so it doesn't get built when you run "ninja install"
This is just a build dependency optimization. Running check-libcxx will still build libcxx and function as expected, it just removes libcxx from the all build and install targets.
llvm-svn: 254628
|
|
|
|
| |
llvm-svn: 254290
|
|
|
|
| |
llvm-svn: 254289
|
|
|
|
| |
llvm-svn: 254288
|
|
|
|
| |
llvm-svn: 254287
|
|
|
|
| |
llvm-svn: 254286
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Summary:
Also, there are no exported character type tables from Musl so we have to
Fallback to the standard functions. This reduces the number of libcxx's
test-suite failures down to ~130 for MIPS. Most of the remaining failures
come from the atomics (due to the lack of 8-byte atomic-ops in MIPS32) and
thread tests.
Reviewers: mclow.lists, EricWF, dalias, jroelofs
Subscribers: tberghammer, danalbert, srhines, cfe-commits
Differential Revision: http://reviews.llvm.org/D14926
llvm-svn: 253972
|
|
|
|
|
|
| |
change. Thannks to K-ballo for the patch
llvm-svn: 253593
|