[PATCH] D31502: [libc++abi] Delete config.h

2017-03-30 Thread Eric Fiselier via Phabricator via cfe-commits
EricWF accepted this revision. EricWF added a comment. This revision is now accepted and ready to land. Thanks. I'm surprised this wasn't done earlier. https://reviews.llvm.org/D31502 ___ cfe-commits mailing list cfe-commits@lists.llvm.org http://li

[PATCH] D31487: [coroutines] Fix rebuilding of implicit and dependent coroutine statements.

2017-03-30 Thread Eric Fiselier via Phabricator via cfe-commits
EricWF updated this revision to Diff 93510. EricWF added a comment. - Remove incorrect comments. https://reviews.llvm.org/D31487 Files: include/clang/AST/StmtCXX.h lib/AST/StmtCXX.cpp lib/Sema/CoroutineBuilder.h lib/Sema/SemaCoroutine.cpp lib/Sema/TreeTransform.h test/SemaCXX/corout

[PATCH] D31487: [coroutines] Fix rebuilding of implicit and dependent coroutine statements.

2017-03-30 Thread Eric Fiselier via Phabricator via cfe-commits
EricWF added inline comments. Comment at: lib/Sema/CoroutineBuilder.h:53 +assert(this->IsValid && "coroutine already invalid"); +this->IsValid = makeReturnObject() && makeParamMoves(); +if (this->IsValid && !IsPromiseDependentType) GorNishanov wrote:

[PATCH] D31513: [Sema] Add __is_aggregate type-trait and implement LWG 2015

2017-03-30 Thread Eric Fiselier via Phabricator via cfe-commits
EricWF created this revision. LWG 2911 adds `std::is_aggregate` to the library, which requires a new builtin trait. This patch implements `__is_aggregate`. Additionally this patch implements LWG 2015

[PATCH] D31513: [Sema] Add __is_aggregate type-trait and implement LWG 2015

2017-03-30 Thread Eric Fiselier via Phabricator via cfe-commits
EricWF updated this revision to Diff 93555. EricWF added a comment. - Move test to correct file. https://reviews.llvm.org/D31513 Files: include/clang/Basic/TokenKinds.def include/clang/Basic/TypeTraits.h lib/Parse/ParseDeclCXX.cpp lib/Parse/ParseExpr.cpp lib/Sema/SemaExprCXX.cpp tes

[PATCH] D31515: [libc++] Implement LWG 2911 - add an is_aggregate type-trait

2017-03-30 Thread Eric Fiselier via Phabricator via cfe-commits
EricWF created this revision. This patch implements http://cplusplus.github.io/LWG/lwg-defects.html#2911. I'm putting this up for review until __is_aggregate is added to clang (See https://reviews.llvm.org/D31513) https://reviews.llvm.org/D31515 Files: include/__config include/type_traits

[PATCH] D31518: Try to fix the libcxx build with mingw64

2017-03-30 Thread Eric Fiselier via Phabricator via cfe-commits
EricWF accepted this revision. EricWF added a comment. This revision is now accepted and ready to land. LGTM. CMake's behavior here is unfortunate but this seems like a reasonable workaround. https://reviews.llvm.org/D31518 ___ cfe-commits mailing

[PATCH] D31515: [libc++] Implement LWG 2911 - add an is_aggregate type-trait

2017-03-31 Thread Eric Fiselier via Phabricator via cfe-commits
EricWF updated this revision to Diff 93605. EricWF added a comment. GCC implemented `__is_aggregate` hours ago as part of 7.0.1. Update the feature checks to reflect that. https://reviews.llvm.org/D31515 Files: include/__config include/type_traits test/libcxx/utilities/meta/meta.unary/m

[PATCH] D31515: [libc++] Implement LWG 2911 - add an is_aggregate type-trait

2017-03-31 Thread Eric Fiselier via Phabricator via cfe-commits
EricWF updated this revision to Diff 93606. EricWF added a comment. - Fix accidental change. https://reviews.llvm.org/D31515 Files: include/__config include/type_traits test/libcxx/utilities/meta/meta.unary/meta.unary.prop/missing_is_aggregate_trait.fail.cpp test/std/utilities/meta/met

[PATCH] D31515: [libc++] Implement LWG 2911 - add an is_aggregate type-trait

2017-03-31 Thread Eric Fiselier via Phabricator via cfe-commits
EricWF updated this revision to Diff 93607. EricWF added a comment. - Fix typo in `// UNSUPPORTED` directive. https://reviews.llvm.org/D31515 Files: include/__config include/type_traits test/libcxx/utilities/meta/meta.unary/meta.unary.prop/missing_is_aggregate_trait.fail.cpp test/std/u

[PATCH] D31513: [Sema] Add __is_aggregate type-trait and implement LWG 2015

2017-03-31 Thread Eric Fiselier via Phabricator via cfe-commits
EricWF updated this revision to Diff 93709. EricWF added a comment. - Update the doc to reflect that GCC has implemented this trait (and to assume MS will as well). - Rewrite the tests using static_assert over god-awful old style array asserts. https://reviews.llvm.org/D31513 Files: docs/Lan

[PATCH] D31513: [Sema] Add __is_aggregate type-trait and implement LWG 2015

2017-03-31 Thread Eric Fiselier via Phabricator via cfe-commits
EricWF updated this revision to Diff 93715. EricWF added a comment. - Correctly report array types as aggregates. (Woops!) - Also report vector types as aggregates. This behavior mirrors GCC. - report _Complex int and _Complex float as aggregates as well. Currently GCC does not have this behavi

[PATCH] D31562: [coroutines] Fix building of new/delete expressions when get_return_object_on_allocation_failure() is present.

2017-03-31 Thread Eric Fiselier via Phabricator via cfe-commits
EricWF updated this revision to Diff 93737. EricWF added a comment. - general cleanup. https://reviews.llvm.org/D31562 Files: include/clang/Basic/DiagnosticSemaKinds.td lib/Sema/SemaCoroutine.cpp test/SemaCXX/coroutines.cpp Index: test/SemaCXX/coroutines.cpp =

[PATCH] D31562: [coroutines] Fix building of new/delete expressions when get_return_object_on_allocation_failure() is present.

2017-03-31 Thread Eric Fiselier via Phabricator via cfe-commits
EricWF updated this revision to Diff 93739. EricWF added a comment. - Remove incorrectly added changes. Note that this patch is built on top of https://reviews.llvm.org/D31487 and not trunk. https://reviews.llvm.org/D31562 Files: include/clang/Basic/DiagnosticSemaKinds.td lib/Sema/SemaCor

[PATCH] D31562: [coroutines] Fix building of new/delete expressions when get_return_object_on_allocation_failure() is present.

2017-04-01 Thread Eric Fiselier via Phabricator via cfe-commits
EricWF updated this revision to Diff 93742. EricWF added a comment. - Actually remove incorrectly added changes. https://reviews.llvm.org/D31562 Files: include/clang/Basic/DiagnosticSemaKinds.td lib/Sema/SemaCoroutine.cpp test/SemaCXX/coroutines.cpp Index: test/SemaCXX/coroutines.cpp ===

[PATCH] D31487: [coroutines] Fix rebuilding of implicit and dependent coroutine statements.

2017-04-03 Thread Eric Fiselier via Phabricator via cfe-commits
EricWF updated this revision to Diff 93917. EricWF marked 6 inline comments as done. EricWF added a comment. - Address inline comments. https://reviews.llvm.org/D31487 Files: include/clang/AST/StmtCXX.h lib/AST/StmtCXX.cpp lib/Sema/CoroutineStmtBuilder.h lib/Sema/SemaCoroutine.cpp lib

[PATCH] D31562: [coroutines] Fix building of new/delete expressions when get_return_object_on_allocation_failure() is present.

2017-04-03 Thread Eric Fiselier via Phabricator via cfe-commits
EricWF updated this revision to Diff 93939. EricWF added a comment. - Merge with master - Fix `coro-alloc.cpp` test so that it declares new. - Add FIXME comment regarding assertion about an MaybeODRUsedExpr that hasn't been correctly handled. (the VarDecl for `std::nothrow` is broken). https://

[PATCH] D31562: [coroutines] Fix building of new/delete expressions when get_return_object_on_allocation_failure() is present.

2017-04-03 Thread Eric Fiselier via Phabricator via cfe-commits
EricWF planned changes to this revision. EricWF added a comment. This patch currently triggers an assertion in `SemaDecl.cpp:12290` `assert(MaybeODRUseExprs.empty() && "Leftover expressions for odr-use checking");` I'll have to come up with a fix for that before this is committed. Unfortunate

[PATCH] D31513: [Sema] Add __is_aggregate type-trait and implement LWG 2015

2017-04-03 Thread Eric Fiselier via Phabricator via cfe-commits
EricWF added a subscriber: STL_MSFT. EricWF added inline comments. Comment at: docs/LanguageExtensions.rst:996 * ``__is_abstract`` (GNU, Microsoft) +* ``__is_aggregate`` (GNU, Microsoft) * ``__is_base_of`` (GNU, Microsoft) aaron.ballman wrote: > Has Microsoft a

[PATCH] D31513: [Sema] Add __is_aggregate type-trait and implement LWG 2015

2017-04-03 Thread Eric Fiselier via Phabricator via cfe-commits
EricWF added inline comments. Comment at: lib/Sema/SemaExprCXX.cpp:4089 +// See LWG 2015 +QualType ElTy = S.Context.getBaseElementType(ArgTy); if (ElTy->isVoidType()) aaron.ballman wrote: > If I understand properly, this change is required by LWG 201

[PATCH] D31235: Enhance -Wshadow to warn when shadowing typedefs or type aliases

2017-04-03 Thread Eric Fiselier via Phabricator via cfe-commits
EricWF added a comment. This started making the libc++ bots fail, and I'm not convinced the case is reasonable to warn on. That case is: struct path { using value_type = char; struct iterator { using value_type = path; }; }; Obviously both typedefs are necessary, and acco

[PATCH] D31637: [Sema] Implement LWG 2015 for the builtin type-traits.

2017-04-03 Thread Eric Fiselier via Phabricator via cfe-commits
EricWF created this revision. This patch implements LWG 2015 , which requires than arrays used with [meta.unary.prop] traits have a complete element type. If I'm not mistaken the correct thing to do is to retroactively apply it to C++11 eve

[PATCH] D31637: [Sema] Implement LWG 2015 for the builtin type-traits.

2017-04-03 Thread Eric Fiselier via Phabricator via cfe-commits
EricWF updated this revision to Diff 93985. EricWF edited the summary of this revision. https://reviews.llvm.org/D31637 Files: lib/Sema/SemaExprCXX.cpp test/SemaCXX/type-traits-incomplete.cpp Index: test/SemaCXX/type-traits-incomplete.cpp

[PATCH] D31513: [Sema] Add __is_aggregate type-trait

2017-04-03 Thread Eric Fiselier via Phabricator via cfe-commits
EricWF updated this revision to Diff 93987. EricWF retitled this revision from "[Sema] Add __is_aggregate type-trait and implement LWG 2015" to "[Sema] Add __is_aggregate type-trait". EricWF edited the summary of this revision. EricWF added a comment. - Remove LWG 2015 implementation. https://r

[PATCH] D27565: [libcxx] Fix __compressed_pair so it doesn't copy the argument multiple times, and add constexpr.

2017-04-03 Thread Eric Fiselier via Phabricator via cfe-commits
EricWF updated this revision to Diff 93991. EricWF retitled this revision from "[libcxx] Alternative fix for compressed pair" to "[libcxx] Fix __compressed_pair so it doesn't copy the argument multiple times, and add constexpr.". EricWF edited the summary of this revision. EricWF added a comment.

[PATCH] D27564: [libcxx] Fix __compressed_pair so it doesn't copy the argument multiple times

2017-04-03 Thread Eric Fiselier via Phabricator via cfe-commits
EricWF abandoned this revision. EricWF added a comment. Abandoning in favor of https://reviews.llvm.org/D27565 https://reviews.llvm.org/D27564 ___ cfe-commits mailing list cfe-commits@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe

[PATCH] D27565: [libcxx] Fix __compressed_pair so it doesn't copy the argument multiple times, and add constexpr.

2017-04-03 Thread Eric Fiselier via Phabricator via cfe-commits
EricWF added a reviewer: K-ballo. EricWF added a subscriber: K-ballo. EricWF added a comment. @K-ballo if you have time would you do me the favor and looking this over. In particular that I didn't accidentally change the layout of `__compressed_pair`. I don't think I did but I need a second set

[PATCH] D31637: [Sema] Implement LWG 2015 for the builtin type-traits.

2017-04-03 Thread Eric Fiselier via Phabricator via cfe-commits
EricWF planned changes to this revision. EricWF added a comment. Woops. This may actually be entirely unneeded. Comment at: lib/Sema/SemaExprCXX.cpp:4083 case UTT_HasTrivialDestructor: case UTT_HasVirtualDestructor: +// C++14 [meta.unary.prop] aaron.b

[PATCH] D31644: [libcxx] Fix check-cxx-abilist on OS X

2017-04-03 Thread Eric Fiselier via Phabricator via cfe-commits
EricWF created this revision. Herald added a subscriber: mgorny. Recent commits broke the check-cxx-abilist by changing the default OS X to use `-rexport_library` instead of `-reexport_symbol_list`. Apparently `-reexport_library` doesn't export the symbols into `libc++.dylib`s symbol table, whe

[PATCH] D31644: [libcxx] Fix check-cxx-abilist on OS X

2017-04-03 Thread Eric Fiselier via Phabricator via cfe-commits
EricWF updated this revision to Diff 94000. EricWF added a comment. - Remove silly changes to `libc++abi2.exp` https://reviews.llvm.org/D31644 Files: lib/CMakeLists.txt lib/libc++abi-new-delete.exp lib/libc++abi2.exp Index: lib/libc++abi2.exp

[PATCH] D31235: Enhance -Wshadow to warn when shadowing typedefs or type aliases

2017-04-03 Thread Eric Fiselier via Phabricator via cfe-commits
EricWF added a comment. this LGTM. thanks for the update. https://reviews.llvm.org/D31235 ___ cfe-commits mailing list cfe-commits@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[PATCH] D31515: [libc++] Implement LWG 2911 - add an is_aggregate type-trait

2017-04-12 Thread Eric Fiselier via Phabricator via cfe-commits
EricWF updated this revision to Diff 95041. EricWF added a comment. - Add comment explaining `_GNUC_VER_NEW`. https://reviews.llvm.org/D31515 Files: include/__config include/type_traits test/libcxx/utilities/meta/meta.unary/meta.unary.prop/missing_is_aggregate_trait.fail.cpp test/std/u

[PATCH] D27565: [libcxx] Fix __compressed_pair so it doesn't copy the argument multiple times, and add constexpr.

2017-04-12 Thread Eric Fiselier via Phabricator via cfe-commits
EricWF updated this revision to Diff 95051. EricWF marked 2 inline comments as done. EricWF added a comment. - Address all inline comments. https://reviews.llvm.org/D27565 Files: include/__hash_table include/memory include/string test/std/utilities/memory/unique.ptr/unique.ptr.runtime/

[PATCH] D27565: [libcxx] Fix __compressed_pair so it doesn't copy the argument multiple times, and add constexpr.

2017-04-12 Thread Eric Fiselier via Phabricator via cfe-commits
EricWF marked an inline comment as done. EricWF added inline comments. Comment at: include/memory:2058 -template ::type, - typename remove_cv<_T2>::type>::value, -bool = is_empty<_T1>::value -

[PATCH] D27565: [libcxx] Fix __compressed_pair so it doesn't copy the argument multiple times, and add constexpr.

2017-04-12 Thread Eric Fiselier via Phabricator via cfe-commits
EricWF updated this revision to Diff 95058. EricWF marked an inline comment as done. EricWF added a comment. - Add a static assertion that the new `__compressed_pair` implementation is never used in a way that would be ABI-incompatible with the previous one. Specifically add a static assert that

[PATCH] D31562: [coroutines] Fix building of new/delete expressions when get_return_object_on_allocation_failure() is present.

2017-04-12 Thread Eric Fiselier via Phabricator via cfe-commits
EricWF updated this revision to Diff 95074. EricWF added a comment. This revision is now accepted and ready to land. - Add call to `MarkDeclRefReferenced` even though it doesn't prevent the assertion. https://reviews.llvm.org/D31562 Files: include/clang/Basic/DiagnosticSemaKinds.td lib/Sem

[PATCH] D31562: [coroutines] Fix building of new/delete expressions when get_return_object_on_allocation_failure() is present.

2017-04-12 Thread Eric Fiselier via Phabricator via cfe-commits
EricWF added inline comments. Comment at: lib/Sema/SemaCoroutine.cpp:680 + // likely due to the scope at in which this function is called. + auto *VD = Result.getAsSingle(); + if (!VD) { @rsmith is this the correct way to build a `DeclRefExpr` to an existing g

[PATCH] D30837: [libcxx] Support for shared_ptr

2017-04-12 Thread Eric Fiselier via Phabricator via cfe-commits
EricWF added a comment. - Please apply this patch on top of yours. It adds tests for the diagnostics produced when the default deleter is used. LGTM other than the inline comments. I'll want to run this by @mclow.lists before g

[PATCH] D31769: Remove the binders `bind1st`, `bind2nd`, `men_fun`, etc from C++17

2017-04-12 Thread Eric Fiselier via Phabricator via cfe-commits
EricWF accepted this revision. EricWF added a comment. This revision is now accepted and ready to land. The `.fail.cpp` tests should use `// UNSUPPORTED: c++98, c++03, c++11, c++14` instead of `#error `. Other than that this LGTM. Comment at: test/std/depr/depr.function.obje

[PATCH] D31561: cmath: Skip Libc for integral types in isinf, etc.

2017-04-12 Thread Eric Fiselier via Phabricator via cfe-commits
EricWF accepted this revision. EricWF added a comment. This revision is now accepted and ready to land. LGTM minus inline comments. Comment at: libcxx/include/math.h:354 inline _LIBCPP_INLINE_VISIBILITY -typename std::enable_if::value, bool>::type +typename std::enable_if::val

[PATCH] D26830: [libcxx] Add string_view literals

2017-04-12 Thread Eric Fiselier via Phabricator via cfe-commits
EricWF added inline comments. Comment at: test/std/strings/string.view/string.view.literals/literal2.pass.cpp:16 + +int main() +{ EricWF wrote: > What's the point of this test that `literal.pass.cpp` doesn't cover? Ping on this comment. Commen

[PATCH] D26830: [libcxx] Add string_view literals

2017-04-12 Thread Eric Fiselier via Phabricator via cfe-commits
EricWF added a comment. @AntonBikineev Yeah, this should be abandoned. Sorry my mistake. https://reviews.llvm.org/D26830 ___ cfe-commits mailing list cfe-commits@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[PATCH] D24371: Add diagnostics to require_constant_initialization

2017-04-12 Thread Eric Fiselier via Phabricator via cfe-commits
EricWF added a comment. @rsmith gentle ping. Repository: rL LLVM https://reviews.llvm.org/D24371 ___ cfe-commits mailing list cfe-commits@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[PATCH] D31725: [libc++] Add _LIBCPP_DISABLE_EXTERN_TEMPLATE config option

2017-04-12 Thread Eric Fiselier via Phabricator via cfe-commits
EricWF added a comment. Please add docs to http://libcxx.llvm.org/docs/UsingLibcxx.html#libc-configuration-macros https://reviews.llvm.org/D31725 ___ cfe-commits mailing list cfe-commits@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listinfo

[PATCH] D31725: [libc++] Add _LIBCPP_DISABLE_EXTERN_TEMPLATE config option

2017-04-12 Thread Eric Fiselier via Phabricator via cfe-commits
EricWF accepted this revision. EricWF added a comment. This revision is now accepted and ready to land. LGTM minus doc. https://reviews.llvm.org/D31725 ___ cfe-commits mailing list cfe-commits@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/lis

[PATCH] D32107: [libc++][test] LWG2857 test coverage for variant

2017-04-14 Thread Eric Fiselier via Phabricator via cfe-commits
EricWF added a comment. Give me a day to implement this in variant and then this should be ready to land. https://reviews.llvm.org/D32107 ___ cfe-commits mailing list cfe-commits@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-com

[PATCH] D32107: [libc++][test] LWG2857 test coverage for variant

2017-04-15 Thread Eric Fiselier via Phabricator via cfe-commits
EricWF commandeered this revision. EricWF edited reviewers, added: CaseyCarter; removed: EricWF. EricWF added a comment. LGTM, Thanks @CaseyCarter. I committed these tests and the changes to libc++'s variant in r300403. I'm hijacking this revision so I can close it. https://reviews.llvm.org/D3

[PATCH] D32111: [modules] Attempt to fix PR31905 - #include "stddef.h" breaks module map search paths; causes redefinitions.

2017-04-15 Thread Eric Fiselier via Phabricator via cfe-commits
EricWF created this revision. This patch attempts to fix llvm.org/PR31905. However I have no clue if this fix is correct; I simply stumbled upon it. The fix is to remove the `_Builtin_stddef_max_align_t` module, making `__stddef_max_align_t.h` non-modular. This fixes the issue because including

[PATCH] D31562: [coroutines] Fix building of new/delete expressions when get_return_object_on_allocation_failure() is present.

2017-04-15 Thread Eric Fiselier via Phabricator via cfe-commits
EricWF marked an inline comment as done. EricWF added inline comments. Comment at: lib/Sema/CoroutineBuilder.h:1 +//===- CoroutineBuilder.h - Coroutine Semantic checking -*- C++ -*-===// +// GorNishanov wrote: > This file is called: > > CoroutineStmtB

[PATCH] D31562: [coroutines] Fix building of new/delete expressions when get_return_object_on_allocation_failure() is present.

2017-04-15 Thread Eric Fiselier via Phabricator via cfe-commits
EricWF updated this revision to Diff 95382. EricWF marked an inline comment as done. EricWF added a comment. - Fix `MaybeODRUseExprs` assertion. - Remove mistakenly present `CoroutineBuilder.h` file. I'll land this later today if there are no objections. https://reviews.llvm.org/D31562 Files:

[PATCH] D31487: [coroutines] Fix rebuilding of implicit and dependent coroutine statements.

2017-04-17 Thread Eric Fiselier via Phabricator via cfe-commits
EricWF reopened this revision. EricWF added a comment. This revision is now accepted and ready to land. I have to revert this commit due to test failures. I think I uploaded an incorrect patch or bad merge because the tests passed on my machine. https://reviews.llvm.org/D31487 __

[PATCH] D31487: [coroutines] Fix rebuilding of implicit and dependent coroutine statements.

2017-04-17 Thread Eric Fiselier via Phabricator via cfe-commits
EricWF updated this revision to Diff 95501. EricWF added a comment. - Upload new, hopefully correct, diff. https://reviews.llvm.org/D31487 Files: include/clang/Basic/DiagnosticSemaKinds.td lib/Sema/SemaCoroutine.cpp test/CodeGenCoroutines/coro-alloc.cpp test/SemaCXX/coroutines.cpp Inde

[PATCH] D31487: [coroutines] Fix rebuilding of implicit and dependent coroutine statements.

2017-04-17 Thread Eric Fiselier via Phabricator via cfe-commits
EricWF reopened this revision. EricWF added a comment. This revision is now accepted and ready to land. re-opening because I had to revert the changes again. The tests are passing on my local machine but they're failing on the bots. I'm not exactly sure what's going on. Perhaps its UB caused by

[PATCH] D31487: [coroutines] Fix rebuilding of implicit and dependent coroutine statements.

2017-04-17 Thread Eric Fiselier via Phabricator via cfe-commits
EricWF updated this revision to Diff 95506. EricWF added a comment. - Update against trunk. https://reviews.llvm.org/D31487 Files: include/clang/Basic/DiagnosticSemaKinds.td lib/Sema/SemaCoroutine.cpp test/CodeGenCoroutines/coro-alloc.cpp test/SemaCXX/coroutines.cpp Index: test/SemaCXX

[PATCH] D31562: [coroutines] Fix building of new/delete expressions when get_return_object_on_allocation_failure() is present.

2017-04-17 Thread Eric Fiselier via Phabricator via cfe-commits
EricWF reopened this revision. EricWF added a comment. This revision is now accepted and ready to land. Re-opening since the last commit had to be reverted. https://reviews.llvm.org/D31562 ___ cfe-commits mailing list cfe-commits@lists.llvm.org http

[PATCH] D31487: [coroutines] Fix rebuilding of implicit and dependent coroutine statements.

2017-04-17 Thread Eric Fiselier via Phabricator via cfe-commits
EricWF closed this revision. EricWF added a comment. Woops, I've been updating the wrong patch. These updates should have been for https://reviews.llvm.org/D31562. https://reviews.llvm.org/D31487 ___ cfe-commits mailing list cfe-commits@lists.llvm.

[PATCH] D31562: [coroutines] Fix building of new/delete expressions when get_return_object_on_allocation_failure() is present.

2017-04-17 Thread Eric Fiselier via Phabricator via cfe-commits
EricWF updated this revision to Diff 95511. EricWF added a comment. - Update so it merges against master. https://reviews.llvm.org/D31562 Files: include/clang/Basic/DiagnosticSemaKinds.td lib/Sema/SemaCoroutine.cpp test/CodeGenCoroutines/coro-alloc.cpp test/SemaCXX/coroutines.cpp Index

[PATCH] D32147: [PR32479] Avoid newlib vasprintf, since it requires gnu extensions

2017-04-17 Thread Eric Fiselier via Phabricator via cfe-commits
EricWF added a comment. Why are GNU extensions not turned on? AFAIK Libc++ doesn't compile against any C library without GNU extensions enabled, including glibc and apple-libc. https://reviews.llvm.org/D32147 ___ cfe-commits mailing list cfe-commit

[PATCH] D26057: [coroutines] Add DependentCoawaitExpr and fix re-building CoroutineBodyStmt.

2017-01-13 Thread Eric Fiselier via Phabricator via cfe-commits
EricWF added a comment. @rsmith Ping. Would you like me to split this up into smaller change sets? https://reviews.llvm.org/D26057 ___ cfe-commits mailing list cfe-commits@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[PATCH] D28703: [clang] Emit `diagnose_if` warnings from system headers

2017-01-13 Thread Eric Fiselier via Phabricator via cfe-commits
EricWF created this revision. EricWF added reviewers: george.burgess.iv, rsmith, aaron.ballman. EricWF added a subscriber: cfe-commits. In order for libc++ to meaningfully use `diagnose_if` warnings they need to be emitted from system headers by default. This patch changes the `diagnose_if` warn

[PATCH] D28716: [libc++] Diagnose null inputs in std::string using _LIBCPP_DIAGNOSE_WARNING

2017-01-13 Thread Eric Fiselier via Phabricator via cfe-commits
EricWF created this revision. EricWF added a reviewer: mclow.lists. EricWF added a subscriber: cfe-commits. This patch uses `diagnose_if` to attempt to catch null inputs in `std::string`. Note that unlike `__attribute__((non_null))` `diagnose_if` does not affect codegen. https://reviews.llvm.o

[PATCH] D28441: [libc++] [CMake] Link with /nodefaultlibs on Windows

2017-01-13 Thread Eric Fiselier via Phabricator via cfe-commits
EricWF added a comment. In https://reviews.llvm.org/D28441#639023, @smeenai wrote: > One potential issue with always forcing the non-debug msvcrt is that any apps > that link against libc++ would also then need to use the non-debug CRT > libraries, otherwise you'd get all sorts of fun runtime e

[PATCH] D28441: [libc++] [CMake] Link with /nodefaultlibs on Windows

2017-01-13 Thread Eric Fiselier via Phabricator via cfe-commits
EricWF updated this revision to Diff 84414. EricWF added a comment. Attempt to address review comments - Rename `LIBCXX_TARGETING_WINDOWS` to `LIBCXX_TARGETING_MSVC`. It is set to on when CMake defines `MSVC` to `ON`. This macro is intented to represent cases where we are targeting native Windo

[PATCH] D22452: [libcxx] Fix last_write_time tests for filesystems that don't support negative and very large times.

2017-01-13 Thread Eric Fiselier via Phabricator via cfe-commits
EricWF accepted this revision. EricWF added a comment. This revision is now accepted and ready to land. LGTM. Do you need somebody to commit this for you? Let me know once you've committed it and I'll merge it into the 4.0 branch. https://reviews.llvm.org/D22452 _

[PATCH] D28520: Disable -Wthread-safety-analysis for some functions in __thread_support

2017-01-13 Thread Eric Fiselier via Phabricator via cfe-commits
EricWF added a comment. In https://reviews.llvm.org/D28520#646160, @aaron.ballman wrote: > I feel like I must be missing something; why is this disabling rather than > specifying the thread safety behavior? e.g., `__libcpp_mutex_lock()` > specifying that it acquires the capability and `__libcpp

[PATCH] D27850: [libcxx] add missing constexpr to optional::value_or

2017-01-13 Thread Eric Fiselier via Phabricator via cfe-commits
EricWF added a comment. @cpplearner Do you need somebody to commit this for you? https://reviews.llvm.org/D27850 ___ cfe-commits mailing list cfe-commits@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[PATCH] D28591: [libcxx] [test] Don't ask whether Incomplete& can be assigned to.

2017-01-13 Thread Eric Fiselier via Phabricator via cfe-commits
EricWF accepted this revision. EricWF added a comment. This revision is now accepted and ready to land. LGTM. Although `is_assignable` can often get accidentally instantiated with an incomplete type by way of `std::tuple` or similar, which is the rational for this test case. https://reviews.l

[PATCH] D28441: [libc++] [CMake] Link with /nodefaultlibs on Windows

2017-01-13 Thread Eric Fiselier via Phabricator via cfe-commits
EricWF marked an inline comment as done. EricWF added inline comments. Comment at: lib/CMakeLists.txt:113 + add_library_flags(msvcrt) # C runtime startup files + # Required for wide character formatting functions (e.g. `printfw`/`scanfw`) + add_library_flags(iso_stdio_wide_spe

[PATCH] D28441: [libc++] [CMake] Link with /nodefaultlibs on Windows

2017-01-13 Thread Eric Fiselier via Phabricator via cfe-commits
EricWF updated this revision to Diff 84428. EricWF added a comment. - Address inline comments. https://reviews.llvm.org/D28441 Files: CMakeLists.txt cmake/Modules/HandleLibcxxFlags.cmake lib/CMakeLists.txt test/libcxx/test/config.py Index: test/libcxx/test/config.py ==

[PATCH] D28441: [libc++] [CMake] Link with /nodefaultlibs on Windows

2017-01-13 Thread Eric Fiselier via Phabricator via cfe-commits
This revision was automatically updated to reflect the committed changes. Closed by commit rL292001: [libc++] [CMake] Link with /nodefaultlibs on Windows (authored by EricWF). Changed prior to commit: https://reviews.llvm.org/D28441?vs=84428&id=84430#toc Repository: rL LLVM https://reviews.

[PATCH] D28716: [libc++] Diagnose null inputs in std::string using _LIBCPP_DIAGNOSE_WARNING

2017-01-13 Thread Eric Fiselier via Phabricator via cfe-commits
EricWF added a comment. In https://reviews.llvm.org/D28716#646274, @grandinj wrote: > would it be better to internally treat __attribute__((non_null)) like > diagnose_if ? then you get all the warnings for free? There were previous objections about using `non_null` within libc++ due to the af

[PATCH] D28725: [libc++][CMake] Use debug MSVC runtimes when libc++ is built in debug mode

2017-01-13 Thread Eric Fiselier via Phabricator via cfe-commits
EricWF updated this revision to Diff 84433. https://reviews.llvm.org/D28725 Files: CMakeLists.txt lib/CMakeLists.txt test/CMakeLists.txt test/libcxx/test/config.py test/lit.site.cfg.in Index: test/lit.site.cfg.in === ---

[PATCH] D28725: [libc++][CMake] Use debug MSVC runtimes when libc++ is built in debug mode

2017-01-13 Thread Eric Fiselier via Phabricator via cfe-commits
EricWF created this revision. EricWF added reviewers: smeenai, rnk, majnemer, compnerd. EricWF added a subscriber: cfe-commits. Herald added a subscriber: mgorny. This patch allows libc++ to be built against the debug MSVC runtimes instead of just the release ones. https://reviews.llvm.org/D287

[PATCH] D28725: [libc++][CMake] Use debug MSVC runtimes when libc++ is built in debug mode

2017-01-13 Thread Eric Fiselier via Phabricator via cfe-commits
EricWF added a comment. In https://reviews.llvm.org/D28725#646325, @smeenai wrote: > Awesome. LGTM except that force-removing the `_DEBUG` define and then linking > against the debug libraries might cause some wonkiness. Ack. I'll update the patch to still force remove `_DEBUG` but then later

[PATCH] D28725: [libc++][CMake] Use debug MSVC runtimes when libc++ is built in debug mode

2017-01-13 Thread Eric Fiselier via Phabricator via cfe-commits
EricWF updated this revision to Diff 84437. EricWF added a comment. - Address inline comments. - Stop MSVC's default assertion handler from opening a new dialog window on failure. https://reviews.llvm.org/D28725 Files: CMakeLists.txt lib/CMakeLists.txt test/CMakeLists.txt test/libcxx/t

[PATCH] D28725: [libc++][CMake] Use debug MSVC runtimes when libc++ is built in debug mode

2017-01-13 Thread Eric Fiselier via Phabricator via cfe-commits
EricWF added inline comments. Comment at: CMakeLists.txt:394 # non-debug DLLs remove_flags("/D_DEBUG" "/MTd" "/MDd" "/MT" "/Md" "/RTC1") smeenai wrote: > EricWF wrote: > > smeenai wrote: > > > We should be able to remove this now, right? > > I would still rat

[PATCH] D28725: [libc++][CMake] Use debug MSVC runtimes when libc++ is built in debug mode

2017-01-13 Thread Eric Fiselier via Phabricator via cfe-commits
EricWF updated this revision to Diff 84438. EricWF added a comment. I think this patch is ready to go. @smeenai any last words? https://reviews.llvm.org/D28725 Files: CMakeLists.txt lib/CMakeLists.txt test/CMakeLists.txt test/libcxx/test/config.py test/lit.site.cfg.in test/support/s

[PATCH] D28725: [libc++][CMake] Use debug MSVC runtimes when libc++ is built in debug mode

2017-01-14 Thread Eric Fiselier via Phabricator via cfe-commits
EricWF updated this revision to Diff 84440. EricWF marked 2 inline comments as done. EricWF added a comment. - Address inline comments. https://reviews.llvm.org/D28725 Files: CMakeLists.txt lib/CMakeLists.txt test/CMakeLists.txt test/libcxx/test/config.py test/lit.site.cfg.in test/s

[PATCH] D28728: [libc++] Introduce _LIBCPP_EXTERN_VIS to fix __libcpp_debug_function link errors

2017-01-14 Thread Eric Fiselier via Phabricator via cfe-commits
EricWF created this revision. EricWF added reviewers: smeenai, compnerd. EricWF added a subscriber: cfe-commits. On Windows tests that use `_LIBCPP_ASSERT` fail to link because the assertion handler function isn't correctly exported from the libc++ dylib. This patch fixes the dll import/export i

[PATCH] D24991: Inline hot functions in libcxx shared_ptr implementation.

2017-01-14 Thread Eric Fiselier via Phabricator via cfe-commits
EricWF requested changes to this revision. EricWF added a comment. This revision now requires changes to proceed. Almost LGTM. Just a couple of inline comments left. Thanks for working on this! Comment at: libcxx/include/memory:3691 + && __has_builtin(__at

[PATCH] D28520: Disable -Wthread-safety-analysis for some functions in __thread_support

2017-01-14 Thread Eric Fiselier via Phabricator via cfe-commits
EricWF added a comment. I think the real bug here is FreeBSD annotating `pthread_mutex_t`. That's going to break a lot of code that already uses -Wthread-safety. This kind of breakage is the reason libc++ doesn't enable the annotations on `std::mutex` by default. https://reviews.llvm.org/D2852

[PATCH] D28735: Attempt two at fixing threading on Windows

2017-01-14 Thread Eric Fiselier via Phabricator via cfe-commits
EricWF created this revision. EricWF added a reviewer: compnerd. EricWF added a subscriber: cfe-commits. https://reviews.llvm.org/D28735 Files: include/__threading_support Index: include/__threading_support === --- include/__thre

[PATCH] D28520: Disable -Wthread-safety-analysis for some functions in __thread_support

2017-01-14 Thread Eric Fiselier via Phabricator via cfe-commits
EricWF added a comment. This breaks on all platforms were pthread_mutex_t isn't annotated. https://reviews.llvm.org/D28520 ___ cfe-commits mailing list cfe-commits@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[PATCH] D24991: Inline hot functions in libcxx shared_ptr implementation.

2017-01-16 Thread Eric Fiselier via Phabricator via cfe-commits
EricWF accepted this revision. EricWF added a comment. This revision is now accepted and ready to land. LGTM. Repository: rL LLVM https://reviews.llvm.org/D24991 ___ cfe-commits mailing list cfe-commits@lists.llvm.org http://lists.llvm.org/cgi-bi

[PATCH] D28728: [libc++] Introduce _LIBCPP_EXTERN_VIS to fix __libcpp_debug_function link errors

2017-01-16 Thread Eric Fiselier via Phabricator via cfe-commits
EricWF accepted this revision. EricWF added a comment. This revision is now accepted and ready to land. In https://reviews.llvm.org/D28728#646489, @smeenai wrote: > This will need to be exported on other platforms too when hidden visibility > happens :) Are you sure?I don't think "extern" vari

[PATCH] D28785: Split exception.cpp implementation into different files for different runtimes

2017-01-16 Thread Eric Fiselier via Phabricator via cfe-commits
EricWF created this revision. `exception.cpp` is a bloody mess. It's full of confusing `#ifdef` branches for each different ABI library we support, and it's getting unmaintainable. This patch breaks down `exception.cpp` into multiple different header files, roughly one per implementation. htt

[PATCH] D28785: Split exception.cpp and new.cpp implementation into different files for different runtimes

2017-01-16 Thread Eric Fiselier via Phabricator via cfe-commits
EricWF updated this revision to Diff 84613. EricWF retitled this revision from "Split exception.cpp implementation into different files for different runtimes" to "Split exception.cpp and new.cpp implementation into different files for different runtimes". EricWF edited the summary of this revisi

[PATCH] D25208: [libc++] Make _LIBCPP_TYPE_VIS export members

2017-01-16 Thread Eric Fiselier via Phabricator via cfe-commits
EricWF requested changes to this revision. EricWF added a comment. This revision now requires changes to proceed. Actually I probably shouldn't have approved this due to http://llvm.org/PR30642. I forgot about that when I last reviewed this. https://reviews.llvm.org/D25208 __

[PATCH] D28785: Split exception.cpp and new.cpp implementation into different files for different runtimes

2017-01-17 Thread Eric Fiselier via Phabricator via cfe-commits
EricWF added inline comments. Comment at: include/exception:85 +#if defined(_LIBCPP_ABI_MICROSOFT) +#include smeenai wrote: > What's the rationale for relying on Microsoft's exception implementation > rather than libc++'s? `vcruntime_new.h` brings in `vcrunti

[PATCH] D28785: Split exception.cpp and new.cpp implementation into different files for different runtimes

2017-01-17 Thread Eric Fiselier via Phabricator via cfe-commits
EricWF added inline comments. Comment at: include/new:177 +#if !defined(_LIBCPP_ABI_MICROSOFT) + EricWF wrote: > smeenai wrote: > > Might be helpful to have a comment explaining why we wanna defer these to > > msvcrt on Windows? > > > > Also, VS 2015 doesn't

[PATCH] D28785: Split exception.cpp and new.cpp implementation into different files for different runtimes

2017-01-17 Thread Eric Fiselier via Phabricator via cfe-commits
EricWF updated this revision to Diff 84770. EricWF added a comment. Herald added a subscriber: mgorny. - Allow standalone libc++ build on OS X to default to using `libc++abi`. https://reviews.llvm.org/D28785 Files: CMakeLists.txt include/exception include/new include/typeinfo src/exce

[PATCH] D28837: [libcxx] [test] Fix MSVC warnings C4127 and C6326 about constants.

2017-01-17 Thread Eric Fiselier via Phabricator via cfe-commits
EricWF accepted this revision. EricWF added a comment. This revision is now accepted and ready to land. The changes sure look funny but I have no issue with them. https://reviews.llvm.org/D28837 ___ cfe-commits mailing list cfe-commits@lists.llvm.or

[PATCH] D28931: Disable aligned new/delete on Apple platforms without posix_memalign

2017-01-19 Thread Eric Fiselier via Phabricator via cfe-commits
EricWF created this revision. This patch disables the aligned new/delet overloads on Apple platforms without `posix_memalign`. This fixes libc++.dylib build regressions on such platforms. This fixes http://llvm.org/PR31448. This patch should also be merged into the 4.0 release branch https://r

[PATCH] D28931: Disable aligned new/delete on Apple platforms without posix_memalign

2017-01-19 Thread Eric Fiselier via Phabricator via cfe-commits
EricWF updated this revision to Diff 85072. EricWF added a comment. - Remove NFC parts of this patch and commit them to master. https://reviews.llvm.org/D28931 Files: include/__config include/new src/new.cpp Index: src/new.cpp

[PATCH] D28785: Split exception.cpp and new.cpp implementation into different files for different runtimes

2017-01-19 Thread Eric Fiselier via Phabricator via cfe-commits
EricWF added a comment. In https://reviews.llvm.org/D28785#650101, @compnerd wrote: > While I love this direction (the original version really was an > unintelligible pile of code), I really think that this change may be taking > on too much. Why not split it up first and do nothing else. We

[PATCH] D28931: Disable aligned new/delete on Apple platforms without posix_memalign

2017-01-19 Thread Eric Fiselier via Phabricator via cfe-commits
EricWF updated this revision to Diff 85080. EricWF added a comment. - Remove `` include in place of defining the required macros manually. https://reviews.llvm.org/D28931 Files: include/__config include/new src/new.cpp Index: src/new.cpp

[PATCH] D28931: Disable aligned new/delete on Apple platforms without posix_memalign

2017-01-19 Thread Eric Fiselier via Phabricator via cfe-commits
EricWF updated this revision to Diff 85082. EricWF added a comment. - Move `__config` block lower down in the file as suggested by Marshall. https://reviews.llvm.org/D28931 Files: include/__config include/new src/new.cpp Index: src/new.cpp ===

[PATCH] D28938: Implement P0513R0 - "Poisoning the Hash"

2017-01-19 Thread Eric Fiselier via Phabricator via cfe-commits
EricWF created this revision. Exactly what the title says. This patch also adds a `std::hash` specialization in C++17, but it was not added by this paper and I can't find the actual paper that adds it. See http://wg21.link/P0513R0 for more info. If there are no comments in the next couple of d

[PATCH] D28933: Revert the return type for `emplace_(back|front)` to `void` in C++14 and before

2017-01-20 Thread Eric Fiselier via Phabricator via cfe-commits
EricWF added a comment. I hate that we have to conditionalize this change at all, but your changes LGTM. https://reviews.llvm.org/D28933 ___ cfe-commits mailing list cfe-commits@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commi

[PATCH] D28931: Disable aligned new/delete on Apple platforms without posix_memalign

2017-01-20 Thread Eric Fiselier via Phabricator via cfe-commits
EricWF added a comment. @rsmith I looked for an alternative provider for aligned allocation but couldn't find one, which is quite unfortunate. Is this going to mess up the `__libcpp_version` detection Clang does? https://reviews.llvm.org/D28931 __

<    3   4   5   6   7   8   9   10   11   >