summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* Ignore --sort-common.Rui Ueyama2016-06-271-0/+1
| | | | | | Because we always sort common symbols, we can ignore the option. llvm-svn: 273842
* [clang-cl] Implement support for /stdDavid Majnemer2016-06-273-4/+27
| | | | | | | /std: supports two arguments, c++14 and c++latest. Currently, c++latest maps to c++1z but this might change down the road. llvm-svn: 273841
* Fix UB in uses_alloc_types.hppEric Fiselier2016-06-271-2/+2
| | | | llvm-svn: 273840
* Implement P0163r0. Add shared_ptr::weak_type.Eric Fiselier2016-06-274-2/+12
| | | | | | | | | | This patch adds the weak_type typedef in shared_ptr. It is available in C++17 and newer. This patch also updates the _LIBCPP_STD_VER and TEST_STD_VER macros to have the value of 16, since 2016 is the current year. llvm-svn: 273839
* Implement p0337r0. Delete operator= for polymorphic_allocator.Eric Fiselier2016-06-273-14/+14
| | | | llvm-svn: 273838
* Implement P0358r1. Fixes for not_fn.Eric Fiselier2016-06-272-30/+86
| | | | llvm-svn: 273837
* Fix C++03 failure in enable_shared_from_this testEric Fiselier2016-06-271-1/+2
| | | | llvm-svn: 273836
* Fix PR27115 - enable_shared_from_this does not work as a virtual base class.Eric Fiselier2016-06-262-24/+39
| | | | | | | | | | | | | See https://llvm.org/bugs/show_bug.cgi?id=27115 The problem was that the conversion from 'const enable_shared_from_this<T>*' to 'const T*' didn't work if T inherited enable_shared_from_this as a virtual base class. The fix is to take the original pointer passed to shared_ptr's constructor in the __enable_weak_this method and perform an upcast to 'const T*' instead of performing a downcast from the enable_shared_from_this base. llvm-svn: 273835
* clang-tools-extra/test/clang-tidy/modernize-use-using.cpp: Satisfy thiscall.NAKAMURA Takumi2016-06-261-3/+3
| | | | llvm-svn: 273834
* add tests for potential select transformsSanjay Patel2016-06-261-0/+117
| | | | llvm-svn: 273833
* Fix C++03 buildEric Fiselier2016-06-262-0/+6
| | | | llvm-svn: 273832
* Fix PR28079 - std::wstring_convert move constructor broken.Eric Fiselier2016-06-263-1/+61
| | | | | | | | | | | | | The move constructor for wstring_convert accidentally copied the state member into the converted count member in the move constructor. This patch fixes the typo. While working on this I discovered that wstring_convert doesn't actually provide a move constructor according to the standard and therefore this constructor is a libc++ extension. I'll look further into whether libc++ should provide this constructor at all. Neither libstdc++ or MSVC's STL provide it. llvm-svn: 273831
* Use isPositionIndependent predicate. NFC.Rafael Espindola2016-06-261-1/+1
| | | | llvm-svn: 273830
* Use isPositionIndependent. NFC.Rafael Espindola2016-06-261-1/+1
| | | | llvm-svn: 273829
* Use isPositionIndependent predicate.Rafael Espindola2016-06-261-1/+1
| | | | llvm-svn: 273828
* Use isPositionIndependent predicate. NFC.Rafael Espindola2016-06-261-9/+8
| | | | llvm-svn: 273827
* Refactor a duplicated predicate. NFC.Rafael Espindola2016-06-266-10/+6
| | | | llvm-svn: 273826
* [lit] Add SANITIZER_IGNORE_CVE_2016_2143 to pass_vars.Marcin Koscielnicki2016-06-261-1/+2
| | | | | | | | | | | | | | | This variable is used by ASan (and other sanitizers in the future) on s390x-linux to override a check for CVE-2016-2143 in the running kernel (see revision 267747 on compiler-rt). Since the check simply checks if the kernel version is in a whitelist of known-good versions, it may miss distribution kernels, or manually-patched kernels - hence the need for this variable. To enable running the ASan testsuite on such kernels, this variable should be passed from the environment down to the testcases. Differential Revision: http://reviews.llvm.org/D19888 llvm-svn: 273825
* Implement LWG 2488 - Make the placeholders constexpr.Eric Fiselier2016-06-264-21/+63
| | | | | | | | | | | | | | | | | | | This patch makes the bind placeholders in std::placeholders both (1) const and (2) constexpr (See below). This is technically a breaking change for any code using the placeholders outside of std::bind and depending on them being non-const. However I don't think this will break any real world code. (1) Previously the placeholders were non-const extern globals in all dialects. This patch changes these extern globals to be const in all dialects. Since the cv-qualifiers don't participate in name mangling for globals this is an ABI compatible change. (2) Make the placeholders constexpr in C++11 and beyond. Although LWG 2488 only applies to C++17 I don't see any reason not to backport this change. llvm-svn: 273824
* Make default_noexcept.pass.cpp container tests more portable. Patch from ↵Eric Fiselier2016-06-2615-27/+42
| | | | | | STL@microsoft.com llvm-svn: 273823
* Work around MSVC bug in atomics.types.generic/address.pass.cpp test. Patch ↵Eric Fiselier2016-06-261-1/+1
| | | | | | from STL@microsoft.com llvm-svn: 273822
* Use L"cat" L"dog" when concatenating string literals. Patch from ↵Eric Fiselier2016-06-261-8/+8
| | | | | | STL@microsoft.com llvm-svn: 273821
* Add array bounds assertions to satisfy MSVC's /analyze flag. Patch from ↵Eric Fiselier2016-06-263-0/+11
| | | | | | STL@microsoft.com llvm-svn: 273820
* Add [[noreturn]] attribute to throw_bad_alloc_helper().Eric Fiselier2016-06-262-3/+8
| | | | llvm-svn: 273819
* Avoid narrowing conversions in quoted test. Patch from STL@microsoft.comEric Fiselier2016-06-261-6/+6
| | | | llvm-svn: 273818
* [LinkerScript] Spell 'character' correctly. NFC.Davide Italiano2016-06-261-1/+1
| | | | llvm-svn: 273817
* Apply clang-tidy's modernize-loop-convert to lib/Analysis.Benjamin Kramer2016-06-2619-121/+105
| | | | | | Only minor manual fixes. No functionality change intended. llvm-svn: 273816
* Revert r273807 (and r273809, r273810), it caused PR28311Nico Weber2016-06-262-240/+3
| | | | llvm-svn: 273815
* Apply clang-tidy's modernize-loop-convert to lib/MC.Benjamin Kramer2016-06-266-67/+56
| | | | | | Only minor manual fixes. No functionality change intended. llvm-svn: 273814
* Apply clang-tidy's modernize-loop-convert to most of lib/IR.Benjamin Kramer2016-06-2610-70/+61
| | | | | | Only minor manual fixes. No functionality change intended. llvm-svn: 273813
* [X86] add _mm_loadu_si64Asaf Badouh2016-06-262-0/+19
| | | | | | Differential Revision: http://reviews.llvm.org/D21504 llvm-svn: 273812
* [CodeExtractor] Merge DEBUG statements in an attempt to fix the msvcBenjamin Kramer2016-06-261-4/+6
| | | | | | | | | build. There's a known bug in msvc 2013 that fails to compile do-while loops inside of ranged for loops. llvm-svn: 273811
* Fixed build failure (due to unused variable error) in r273807.Amjad Aboud2016-06-261-0/+1
| | | | llvm-svn: 273810
* Fixed build failure (due to unused variable error) in r273807.Amjad Aboud2016-06-261-3/+1
| | | | llvm-svn: 273809
* Apply clang-tidy's modernize-loop-convert to most of lib/Transforms.Benjamin Kramer2016-06-2653-519/+398
| | | | | | Only minor manual fixes. No functionality change intended. llvm-svn: 273808
* [codeview] Improved array type support.Amjad Aboud2016-06-262-2/+240
| | | | | | | | | | | Added support for: 1. Multi dimension array. 2. Array of structure type, which previously was declared incompletely. 3. Dynamic size array. Differential Revision: http://reviews.llvm.org/D21526 llvm-svn: 273807
* [tsan] Intercept libcxx __release_shared to avoid false positive with ↵Kuba Brecka2016-06-265-0/+209
| | | | | | | | | | weak_ptrs and destructors in C++ There is a "well-known" TSan false positive when using C++ weak_ptr/shared_ptr and code in destructors, e.g. described at <https://llvm.org/bugs/show_bug.cgi?id=22324>. The "standard" solution is to build and use a TSan-instrumented version of libcxx, which is not trivial for end-users. This patch tries a different approach (on OS X): It adds an interceptor for the specific function in libc++.dylib, which implements the atomic operation that needs to be visible to TSan. Differential Revision: http://reviews.llvm.org/D21609 llvm-svn: 273806
* [RSForGC] Appease MSVCSanjoy Das2016-06-261-2/+4
| | | | llvm-svn: 273805
* [X86] Rewrite lowerVectorShuffleWithPSHUFB to not require a ZeroableMask to ↵Craig Topper2016-06-261-39/+21
| | | | | | be created. We can do everything with the starting mask and zeroable bit vector. This removes the last usage of isSingleInputShuffleMask. NFC llvm-svn: 273804
* [X86] Replace calls to isSingleInputShuffleMask with just checking if V2 is ↵Craig Topper2016-06-261-25/+25
| | | | | | UNDEF. Canonicalization and creation of shuffle vector ensures this is equivalent. llvm-svn: 273803
* [SelectionDAG] Use DAG.getCommutedVectorShuffle instead of reimplementing it.Craig Topper2016-06-261-15/+2
| | | | llvm-svn: 273802
* [LoopUnswitch] Unswitch on conditions feeding into guardsSanjoy Das2016-06-262-7/+130
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Summary: This is a straightforward extension of what LoopUnswitch does to branches to guards. That is, we unswitch ``` for (;;) { ... guard(loop_invariant_cond); ... } ``` into ``` if (loop_invariant_cond) { for (;;) { ... // There is no need to emit guard(true) ... } } else { for (;;) { ... guard(false); // SimplifyCFG will clean this up by adding an // unreachable after the guard(false) ... } } ``` Reviewers: majnemer Subscribers: mcrosier, llvm-commits, mzolotukhin Differential Revision: http://reviews.llvm.org/D21725 llvm-svn: 273801
* [RSForGC] Bring the BDVState struct up to code; NFCSanjoy Das2016-06-261-25/+33
| | | | llvm-svn: 273800
* [RSForGC] Bring computeLiveInValues up to code; NFCSanjoy Das2016-06-261-8/+5
| | | | llvm-svn: 273799
* [RSForGC] Bring computeLiveOutSeed up to code; NFCSanjoy Das2016-06-261-7/+7
| | | | llvm-svn: 273798
* [RSForGC] Bring computeLiveInValues up to code; NFCSanjoy Das2016-06-261-19/+8
| | | | llvm-svn: 273797
* [RSForGC] Bring recomputeLiveInValues up to code; NFCSanjoy Das2016-06-261-9/+9
| | | | llvm-svn: 273796
* [RSForGC] Bring containsGCPtrType, isGCPointerType up to code; NFCSanjoy Das2016-06-261-3/+2
| | | | llvm-svn: 273795
* [RSForGC] Bring analyzeParsePointLiveness up to code; NFCSanjoy Das2016-06-261-7/+7
| | | | llvm-svn: 273794
* [RSForGC] Bring meetBDVStateImpl up to code; NFCSanjoy Das2016-06-261-14/+13
| | | | llvm-svn: 273793
OpenPOWER on IntegriCloud