r290808 - DR1391: Check for implicit conversion sequences for non-dependent function

2017-01-01 Thread Richard Smith via cfe-commits
Author: rsmith Date: Sun Jan 1 20:42:17 2017 New Revision: 290808 URL: http://llvm.org/viewvc/llvm-project?rev=290808=rev Log: DR1391: Check for implicit conversion sequences for non-dependent function template parameters between deduction and substitution. The idea is to accept as many cases as

Re: r290792 - [c++17] Implement P0522R0 as written. This allows a template template argument

2017-01-01 Thread Richard Smith via cfe-commits
Thanks both of you, r290807. On 1 January 2017 at 07:28, Erik Pilkington wrote: > > > On Dec 31, 2016, at 4:41 PM, Richard Smith via cfe-commits < > cfe-commits@lists.llvm.org> wrote: > > > > Author: rsmith > > Date: Sat Dec 31 15:41:23 2016 > > New Revision: 290792 >

r290807 - Address post-commit review comments.

2017-01-01 Thread Richard Smith via cfe-commits
Author: rsmith Date: Sun Jan 1 20:38:22 2017 New Revision: 290807 URL: http://llvm.org/viewvc/llvm-project?rev=290807=rev Log: Address post-commit review comments. Modified: cfe/trunk/include/clang/Basic/LangOptions.def cfe/trunk/lib/Sema/SemaTemplateDeduction.cpp Modified:

[PATCH] D28212: typeinfo: provide a partial implementation for Win32

2017-01-01 Thread David Majnemer via Phabricator via cfe-commits
majnemer added inline comments. Comment at: src/typeinfo.cpp:28-29 +#if defined(_WIN64) + static constexpr const size_t fnv_offset_basis = 14695981039346656037; + static constexpr const size_t fnv_prime = 10995116282110; +#else majnemer wrote: > Why make these

[PATCH] D28213: [Frontend] Correct values of ATOMIC_*_LOCK_FREE to match builtin

2017-01-01 Thread Michał Górny via Phabricator via cfe-commits
mgorny created this revision. mgorny added reviewers: rsmith, t.p.northover, hfinkel, EricWF. mgorny added a subscriber: cfe-commits. Correct the logic used to set `ATOMIC_*_LOCK_FREE` preprocessor macros not to rely on the ABI alignment of types. Instead, just assume all those types are aligned

[PATCH] D28212: typeinfo: provide a partial implementation for Win32

2017-01-01 Thread Saleem Abdulrasool via Phabricator via cfe-commits
compnerd created this revision. compnerd added reviewers: EricWF, mclow.lists, majnemer, rnk. compnerd added subscribers: smeenai, kastiglione, cfe-commits. compnerd set the repository for this revision to rL LLVM. The RTTI structure is different on Windows when building under MS ABI. Update the

Re: [libcxx] r290806 - chrono: address post commit comments from Howard

2017-01-01 Thread Howard Hinnant via cfe-commits
Very close! Comment below: On Jan 1, 2017, at 5:04 PM, Saleem Abdulrasool via cfe-commits wrote: > > Author: compnerd > Date: Sun Jan 1 16:04:38 2017 > New Revision: 290806 > > URL: http://llvm.org/viewvc/llvm-project?rev=290806=rev > Log: > chrono: address post

[PATCH] D28211: typeinfo: provide a destructor for type_info

2017-01-01 Thread Saleem Abdulrasool via Phabricator via cfe-commits
compnerd created this revision. compnerd added reviewers: EricWF, mclow.lists. compnerd added subscribers: smeenai, cfe-commits. compnerd set the repository for this revision to rL LLVM. When building without libc++abi and libcxxrt, provide the definition for the std::type_info destructor.

[PATCH] D28210: system_error: inline error_category ctor on Win32

2017-01-01 Thread Saleem Abdulrasool via Phabricator via cfe-commits
compnerd created this revision. compnerd added reviewers: EricWF, mclow.lists, majnemer. compnerd added subscribers: smeenai, cfe-commits. compnerd set the repository for this revision to rL LLVM. Because the class is marked as `dllexport` and instantiated in `algorithm.cpp` and is strongly

Re: [libcxx] r290803 - chrono: implement a Windows version of system_clock::now

2017-01-01 Thread Saleem Abdulrasool via cfe-commits
Thanks for the review on this! I hope you wont mind taking a look at SVN r290806 as well which tries to address the comments. On Sun, Jan 1, 2017 at 1:09 PM, Howard Hinnant wrote: > On Jan 1, 2017, at 3:20 PM, Saleem Abdulrasool via cfe-commits < >

[libcxx] r290805 - chrono: address post-commit comments from majnemer

2017-01-01 Thread Saleem Abdulrasool via cfe-commits
Author: compnerd Date: Sun Jan 1 16:04:36 2017 New Revision: 290805 URL: http://llvm.org/viewvc/llvm-project?rev=290805=rev Log: chrono: address post-commit comments from majnemer Correct style to match libc++ style as pointed out by David Majnemer on IRC. NFC. Modified:

[libcxx] r290806 - chrono: address post commit comments from Howard

2017-01-01 Thread Saleem Abdulrasool via cfe-commits
Author: compnerd Date: Sun Jan 1 16:04:38 2017 New Revision: 290806 URL: http://llvm.org/viewvc/llvm-project?rev=290806=rev Log: chrono: address post commit comments from Howard Drawing some inspiration from code from Bill O'Neal as pointed out by Howard, rework the code to avoid an overflow in

Re: [libcxx] r290803 - chrono: implement a Windows version of system_clock::now

2017-01-01 Thread Howard Hinnant via cfe-commits
On Jan 1, 2017, at 3:20 PM, Saleem Abdulrasool via cfe-commits wrote: > > Author: compnerd > Date: Sun Jan 1 14:20:41 2017 > New Revision: 290803 > > URL: http://llvm.org/viewvc/llvm-project?rev=290803=rev > Log: > chrono: implement a Windows version of

[libcxx] r290803 - chrono: implement a Windows version of system_clock::now

2017-01-01 Thread Saleem Abdulrasool via cfe-commits
Author: compnerd Date: Sun Jan 1 14:20:41 2017 New Revision: 290803 URL: http://llvm.org/viewvc/llvm-project?rev=290803=rev Log: chrono: implement a Windows version of system_clock::now system_clock::now is not entirely straight forward on Windows, which does not have a clock_gettime function.

[libcxx] r290801 - build: dont detect libraries for Windows

2017-01-01 Thread Saleem Abdulrasool via cfe-commits
Author: compnerd Date: Sun Jan 1 14:20:38 2017 New Revision: 290801 URL: http://llvm.org/viewvc/llvm-project?rev=290801=rev Log: build: dont detect libraries for Windows Hard code the defaults for Windows for the time being. The checks really are always going to return the same value.

[libcxx] r290800 - build: differentiate between building for and on Windows

2017-01-01 Thread Saleem Abdulrasool via cfe-commits
Author: compnerd Date: Sun Jan 1 14:20:36 2017 New Revision: 290800 URL: http://llvm.org/viewvc/llvm-project?rev=290800=rev Log: build: differentiate between building for and on Windows This is necessary to support cross-compiling a Windows libc++ from Linux. The CMAKE_SYSTEM_HOST_NAME tells

[libcxx] r290804 - chrono: give Windows a steady_clock

2017-01-01 Thread Saleem Abdulrasool via cfe-commits
Author: compnerd Date: Sun Jan 1 14:20:43 2017 New Revision: 290804 URL: http://llvm.org/viewvc/llvm-project?rev=290804=rev Log: chrono: give Windows a steady_clock Provide a definition for a steady monotonic clock by wrapping QueryPerformanceCounter. Modified: libcxx/trunk/src/chrono.cpp

[libcxx] r290802 - build: further improve flags handling for cl

2017-01-01 Thread Saleem Abdulrasool via cfe-commits
Author: compnerd Date: Sun Jan 1 14:20:40 2017 New Revision: 290802 URL: http://llvm.org/viewvc/llvm-project?rev=290802=rev Log: build: further improve flags handling for cl This allows us to build with cl (or rather clang-cl) by using the correct spelling for `-include` (`/FI` for cl).

r290799 - CodeGen: update comment about RTTI field

2017-01-01 Thread Saleem Abdulrasool via cfe-commits
Author: compnerd Date: Sun Jan 1 13:16:02 2017 New Revision: 290799 URL: http://llvm.org/viewvc/llvm-project?rev=290799=rev Log: CodeGen: update comment about RTTI field The MS ABI RTTI has a reserved field which is used as a cache for the demangled name. It must be zero-initialized, which is

[PATCH] D28081: Make GetStyle return Expected instead of FormatStyle

2017-01-01 Thread Antonio Maiorano via Phabricator via cfe-commits
amaiorano added inline comments. Comment at: lib/Format/Format.cpp:1900 - if (!getPredefinedStyle(FallbackStyle, Style.Language, )) { -llvm::errs() << "Invalid fallback style \"" << FallbackStyle - << "\" using LLVM style\n"; -return Style; - } +

Re: r290792 - [c++17] Implement P0522R0 as written. This allows a template template argument

2017-01-01 Thread Erik Pilkington via cfe-commits
> On Dec 31, 2016, at 4:41 PM, Richard Smith via cfe-commits > wrote: > > Author: rsmith > Date: Sat Dec 31 15:41:23 2016 > New Revision: 290792 > > URL: http://llvm.org/viewvc/llvm-project?rev=290792=rev > Log: > [c++17] Implement P0522R0 as written. This allows a

[PATCH] D28208: Remove isIgnored()-test that is more expensive than the analysis behind it

2017-01-01 Thread Daniel Jasper via Phabricator via cfe-commits
djasper created this revision. djasper added a reviewer: rsmith. djasper added a subscriber: cfe-commits. In many translation units I have tried, the calls to isIgnored() removed in this patch are more expensive than doing the analysis that is behind it. The speed-up in translation units I have

[PATCH] D28207: Add second fast path for DiagnosticsEngine::GetDiagStatePointForLoc

2017-01-01 Thread Daniel Jasper via Phabricator via cfe-commits
djasper created this revision. djasper added a reviewer: rsmith. djasper added a subscriber: cfe-commits. Herald added a subscriber: sanjoy. In many translation units I have tested, many of the calls to DiagnosticsEngine::GetDiagStatePointForLoc are for source locations before the first diag