- 18 Jan, 2017 11 commits
-
-
Rafael Espindola authored
Give priority to linker scripts over preemption. LLD exports symbols that are also present in used shared libraries to make sure they are preempted at runtime. That is a reasonable default, but we must allow for it to be overwritten with linker script. If we don't, libraries that expect to be able to hide a c++ delete operator will fail. This should fix the firebird build. llvm-svn: 292370
-
Eric Fiselier authored
When support for `basic_string_view` was added to string it also added new assignment operators from `basic_string_view`. These caused ambiguity when assigning from a braced initializer. This patch fixes that regression by making the basic_string_view assignment operator rank lower in overload resolution by making it a template. llvm-svn: 292354
-
Hans Wennborg authored
```--------------------------------------------------------------------- r292013 | hahnfeld | 2017-01-14 03:35:15 -0800 (Sat, 14 Jan 2017) | 6 lines Fix last_write_time tests for filesystems that don't support negative and very large times Seems to be the case for NFS. Original patch by Eric Fiselier! Differential Revision: https://reviews.llvm.org/D22452 ``` --------------------------------------------------------------------- llvm-svn: 292341
-
Hans Wennborg authored
```--------------------------------------------------------------------- r291966 | majnemer | 2017-01-13 14:24:27 -0800 (Fri, 13 Jan 2017) | 6 lines [LoopStrengthReduce] Don't bother rewriting PHIs in catchswitch blocks The catchswitch instruction cannot be split, don't bother trying to rewrite it. This fixes PR31627. ``` --------------------------------------------------------------------- llvm-svn: 292340
-
Hans Wennborg authored
```--------------------------------------------------------------------- r292247 | jbcoe | 2017-01-17 12:03:54 -0800 (Tue, 17 Jan 2017) | 14 lines Fix Python 3 language issues and add an explicit check for Python version == 2. Summary: Python bindings cannot support Python 3 without work being done to fix Unicode c-string conversion. This was attempted in https://reviews.llvm.org/D26082. That patch was reverted due to memory access issues on Linux. This revision fixes enough language compatibility issues for the clang module to be loaded and raise an error if the Python version is not 2. Reviewers: mgorny, MathieuDuponchelle, rengolin, compnerd Reviewed By: compnerd Differential Revision: https://reviews.llvm.org/D28682 ``` --------------------------------------------------------------------- llvm-svn: 292339
-
Hans Wennborg authored
```--------------------------------------------------------------------- r292183 | rsmith | 2017-01-16 18:14:37 -0800 (Mon, 16 Jan 2017) | 14 lines Partial revert of r290511. The rules around typechecking deduced template arguments during partial ordering are not clear, and while the prior behavior does not seem to be correct (it doesn't follow the general model of partial ordering where each template parameter is replaced by a non-dependent but unique value), the new behavior is also not clearly right and breaks some existing idioms. The new behavior is retained for dealing with non-type template parameters with 'auto' types, as without it even the most basic uses of that feature don't work. We can revisit this once CWG has come to an agreement on how partial ordering with 'auto' non-type template parameters is supposed to work. ``` --------------------------------------------------------------------- llvm-svn: 292338
-
Hans Wennborg authored
```--------------------------------------------------------------------- r292052 | akirtzidis | 2017-01-14 22:11:04 -0800 (Sat, 14 Jan 2017) | 1 line [code-completion] Fix crash when trying to do postfix completion of instance member inside a static function. ``` --------------------------------------------------------------------- llvm-svn: 292313
-
Hans Wennborg authored
```--------------------------------------------------------------------- r292133 | hfinkel | 2017-01-16 07:22:01 -0800 (Mon, 16 Jan 2017) | 10 lines Fix use-after-free bug in AffectedValueCallbackVH::allUsesReplacedWith When transferring affected values in the cache from an old value, identified by the value of the current callback, to the specified new value we might need to insert a new entry into the DenseMap which constitutes the cache. Doing so might delete the current callback object. Move the copying logic into a new function, a member of the assumption cache itself, so that we don't run into UB should the callback handle itself be removed mid-copy. Differential Revision: https://reviews.llvm.org/D28749 ``` --------------------------------------------------------------------- llvm-svn: 292312
-
Hans Wennborg authored
```--------------------------------------------------------------------- r292032 | yrnkrn | 2017-01-14 13:12:08 -0800 (Sat, 14 Jan 2017) | 4 lines Fix PR31644 introduced by r287138 and add a regression test. Thanks Dimitry Andric for the report and fix! ``` --------------------------------------------------------------------- llvm-svn: 292311
-
Eric Fiselier authored
In recent changes type_info's private constructor was accidentally made implicit. This patch fixes that. llvm-svn: 292309
-
Hans Wennborg authored
```--------------------------------------------------------------------- r291968 | dannyb | 2017-01-13 14:40:01 -0800 (Fri, 13 Jan 2017) | 23 lines NewGVN: Move leaders around properly to ensure we have a canonical dominating leader. Fixes PR 31613. Summary: This is a testcase where phi node cycling happens, and because we do not order the leaders by domination or anything similar, the leader keeps changing. Using std::set for the members is too expensive, and we actually don't need them sorted all the time, only at leader changes. We could keep both a set and a vector, and keep them mostly sorted and resort as necessary, or use a set and a fibheap, but all of this seems premature. After running some statistics, we are able to avoid the vast majority of sorting by keeping a "next leader" field. Most congruence classes only have leader changes once or twice during GVN. Reviewers: davide Subscribers: llvm-commits Differential Revision: https://reviews.llvm.org/D28594 ``` --------------------------------------------------------------------- ------------------------------------------------------------------------ r291979 | dannyb | 2017-01-13 15:54:10 -0800 (Fri, 13 Jan 2017) | 1 line NewGVN: Fix PR31613 test regex naming ------------------------------------------------------------------------ llvm-svn: 292307
-
- 17 Jan, 2017 8 commits
-
-
Hans Wennborg authored
```--------------------------------------------------------------------- r292255 | mgorny | 2017-01-17 13:04:19 -0800 (Tue, 17 Jan 2017) | 12 lines [cmake] Update SOVERSION for the new versioning scheme Update SOVERSION to use just the major version number rather than major+minor, to match the new versioning scheme where only major is used to indicate API/ABI version. Since two-digit SOVERSIONs were introduced post 3.9 branching, this change does not risk any SOVERSION collisions. In the past, two-component X.Y SOVERSIONs were shortly used but those will not interfere with the new ones since the new versions start at 4. Differential Revision: https://reviews.llvm.org/D28730 ``` --------------------------------------------------------------------- llvm-svn: 292270
-
Hans Wennborg authored
llvm-svn: 292267
-
Hans Wennborg authored
```--------------------------------------------------------------------- r292265 | hans | 2017-01-17 13:31:57 -0800 (Tue, 17 Jan 2017) | 1 line UsersManual.rst: add missing newline ``` --------------------------------------------------------------------- llvm-svn: 292266
-
Hans Wennborg authored
llvm-svn: 292264
-
Hans Wennborg authored
llvm-svn: 292263
-
Hans Wennborg authored
llvm-svn: 292262
-
Hans Wennborg authored
llvm-svn: 292259
-
Hans Wennborg authored
```--------------------------------------------------------------------- r292242 | bwilson | 2017-01-17 11:18:57 -0800 (Tue, 17 Jan 2017) | 5 lines Revert r291640 change to fold X86 comparison with atomic_load_add. Even with the fix from r291630, this still causes problems. I get widespread assertion failures in the Swift runtime's WeakRefCount::increment() function. I sent a reduced testcase in reply to the commit. ``` --------------------------------------------------------------------- llvm-svn: 292243
-
- 16 Jan, 2017 1 commit
-
-
Piotr Padlewski authored
In order to have link from ReleaseNotes working this needs to have -fstrict-vtable-pointers option. There is also one small typo fix (overridden) y https://reviews.llvm.org/D28727 llvm-svn: 292113
-
- 15 Jan, 2017 2 commits
-
-
Piotr Padlewski authored
This might require some small fixits after generating doc Devirtualization: https://reviews.llvm.org/D28606 ThinLTO: https://reviews.llvm.org/D28746 llvm-svn: 292080
-
Piotr Padlewski authored
https://reviews.llvm.org/D28746 llvm-svn: 292079
-
- 14 Jan, 2017 1 commit
-
-
Piotr Padlewski authored
https://reviews.llvm.org/D28605 llvm-svn: 292009
-
- 13 Jan, 2017 11 commits
-
-
Hans Wennborg authored
```--------------------------------------------------------------------- r291964 | rsmith | 2017-01-13 14:16:41 -0800 (Fri, 13 Jan 2017) | 2 lines PR31631: fix bad CFG (and bogus warnings) when an if-statement has an init-statement and has binary operator as its condition. ``` --------------------------------------------------------------------- llvm-svn: 291978
-
Hans Wennborg authored
```--------------------------------------------------------------------- r291879 | echristo | 2017-01-12 17:52:04 -0800 (Thu, 12 Jan 2017) | 1 line Add a necessary newline for diagnose_if documentation. ``` --------------------------------------------------------------------- llvm-svn: 291952
-
Hans Wennborg authored
```--------------------------------------------------------------------- r291881 | chandlerc | 2017-01-12 18:47:34 -0800 (Thu, 12 Jan 2017) | 3 lines Another fix for r291850 because there are apparently targets which add "-mllvm" flags to the CC1 invocation (notably, Hexagon seems to hit this). ``` --------------------------------------------------------------------- llvm-svn: 291951
-
Hans Wennborg authored
```--------------------------------------------------------------------- r291907 | jbcoe | 2017-01-13 08:06:59 -0800 (Fri, 13 Jan 2017) | 6 lines Revert "Support for Python 3 in libclang python bindings" This reverts commit 4464581bb63e9789e9ee231a8c8800be5f614743. Memory access issues on Linux were reported by Mathieu Duponchelle and discussed here: https://reviews.llvm.org/D26082. ``` --------------------------------------------------------------------- llvm-svn: 291950
-
Hans Wennborg authored
```--------------------------------------------------------------------- r291875 | chapuni | 2017-01-12 17:13:10 -0800 (Thu, 12 Jan 2017) | 8 lines Revert r291503, "Lift the 10-type limit for AlignedCharArrayUnion", and followings. r291503, "Lift the 10-type limit for AlignedCharArrayUnion" r291514, "Fix MSVC build of AlignedCharArrayUnion" r291515, "Revert the attempt to optimize the constexpr functions. MSVC does not handle this yet" r291519, "Try once again to fix the MSVC build of AlignedCharArrayUnion" They has been failing on i686-linux. ``` --------------------------------------------------------------------- llvm-svn: 291945
-
Hans Wennborg authored
```--------------------------------------------------------------------- r291877 | smeenai | 2017-01-12 17:28:34 -0800 (Thu, 12 Jan 2017) | 13 lines [Sema] Restrict explicit instantation definition dllexport In the case where the template class itself is already `dllexport`, the implicit instantiation will have already emitted all members. When we check the explicit instantiation definition, the `Specialization` will have inherited the `dllexport` attribute, so we'll attempt to emit all members for a second time, which causes an assertion failure. Restrict the exporting to when the `dllexport` attribute is newly introduced by the explicit instantiation definition. Fixes PR31608. Differential Revision: https://reviews.llvm.org/D28590 ``` --------------------------------------------------------------------- llvm-svn: 291943
-
Eric Fiselier authored
llvm-svn: 291935
-
Eric Fiselier authored
llvm-svn: 291922
-
Hans Wennborg authored
```--------------------------------------------------------------------- r291863 | chapuni | 2017-01-12 16:17:15 -0800 (Thu, 12 Jan 2017) | 1 line xray-account: Avoid std::errc::bad_message to appease mingw. ``` --------------------------------------------------------------------- llvm-svn: 291914
-
Hans Wennborg authored
```--------------------------------------------------------------------- r291871 | rsmith | 2017-01-12 16:57:54 -0800 (Thu, 12 Jan 2017) | 10 lines Update C++ status pages for Clang 4 branch: * Update version number in DR tests from 4.0 to 4 * Teach make_cxx_dr_status script about version numbers that don't contain a period. * Update cxx_status.html and cxx_dr_status.html to list Clang 4 features as "Clang 4" rather than "SVN" Clang 4 features are still listed in yellow rather than green until release. ``` --------------------------------------------------------------------- llvm-svn: 291913
-
Hans Wennborg authored
```--------------------------------------------------------------------- r291865 | rsmith | 2017-01-12 16:43:31 -0800 (Thu, 12 Jan 2017) | 15 lines Improve handling of instantiated thread_local variables in Itanium C++ ABI. * Do not initialize these variables when initializing the rest of the thread_locals in the TU; they have unordered initialization so they can be initialized by themselves. This fixes a rejects-valid bug: we would make the per-variable initializer function internal, but put it in a comdat keyed off the variable, resulting in link errors when the comdat is selected from a different TU (as the per TU TLS init function tries to call an init function that does not exist). * On Darwin, when we decide that we're not going to emit a thread wrapper function at all, demote its linkage to External. Fixes a verifier failure on explicit instantiation of a thread_local variable on Darwin. ``` --------------------------------------------------------------------- llvm-svn: 291912
-
- 12 Jan, 2017 6 commits
-
-
Hans Wennborg authored
```--------------------------------------------------------------------- r291850 | chandlerc | 2017-01-12 14:40:13 -0800 (Thu, 12 Jan 2017) | 9 lines Address review comments on r290392: - Don't break using '-mllvm -disable-llvm-optzns' (yet). - Don't add support for '-mllvm -disable-llvm-passes'. This is important for LLVM 4 as we haven't yet really told folks this is coming. I'll add release notes about this. I've also added some explicit testing of this so its more obvious what is happening here. ``` --------------------------------------------------------------------- ------------------------------------------------------------------------ r291853 | chandlerc | 2017-01-12 14:48:28 -0800 (Thu, 12 Jan 2017) | 1 line Fix two test cases I missed updating in r291850. Sorry for the noise. ------------------------------------------------------------------------ llvm-svn: 291860
-
Hans Wennborg authored
llvm-svn: 291857
-
Hans Wennborg authored
llvm-svn: 291856
-
Hans Wennborg authored
llvm-svn: 291855
-
Hans Wennborg authored
llvm-svn: 291854
-
Hans Wennborg authored
llvm-svn: 291848
-