[PATCH] D50421: [libcxx] [test] Remove assertion that includes and .

2018-08-07 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. This looks fine to me. https://reviews.llvm.org/D50421 ___ cfe-commits mailing list cfe-commits@lists.llvm.org http://lists.llvm.org/cgi-bin/mail

[PATCH] D50549: [libcxx] [test] Repair thread unsafety in thread tests

2018-08-09 Thread Eric Fiselier via Phabricator via cfe-commits
EricWF added a comment. We should add some TSAN folks to this review, since I think these are also TSAN false negatives; perhaps correctly, perhaps not. https://reviews.llvm.org/D50549 ___ cfe-commits mailing list cfe-commits@lists.llvm.org http://

[PATCH] D50549: [libcxx] [test] Repair thread unsafety in thread tests

2018-08-10 Thread Eric Fiselier via Phabricator via cfe-commits
EricWF added a comment. I was hoping my comment would summon them magically. I'll figure it out shortly. https://reviews.llvm.org/D50549 ___ cfe-commits mailing list cfe-commits@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commi

[PATCH] D46665: [Itanium] Emit type info names with external linkage.

2018-05-09 Thread Eric Fiselier via Phabricator via cfe-commits
EricWF created this revision. EricWF added reviewers: rsmith, rjmccall, majnemer, vsapsai. The Itanium ABI requires that the type info for pointer-to-incomplete types to have internal linkage, so that it doesn't interfere with the type info once completed. Currently it also marks the type info

[PATCH] D46665: [Itanium] Emit type info names with external linkage.

2018-05-09 Thread Eric Fiselier via Phabricator via cfe-commits
EricWF updated this revision to Diff 146034. EricWF added a comment. - Correct copy-paste error. https://reviews.llvm.org/D46665 Files: lib/CodeGen/ItaniumCXXABI.cpp test/CodeGenCXX/rtti-linkage.cpp Index: test/CodeGenCXX/rtti-linkage.cpp ===

[PATCH] D46665: [Itanium] Emit type info names with external linkage.

2018-05-09 Thread Eric Fiselier via Phabricator via cfe-commits
EricWF marked an inline comment as done. EricWF added a comment. @rsmith What should the visibility of the type name be in cases where the type info is hidden? Comment at: lib/CodeGen/ItaniumCXXABI.cpp:3033 + return {llvm::GlobalValue::InternalLinkage, + llvm

[PATCH] D46665: [Itanium] Emit type info names with external linkage.

2018-05-09 Thread Eric Fiselier via Phabricator via cfe-commits
EricWF updated this revision to Diff 146053. EricWF marked an inline comment as done. EricWF added a comment. Address @rsmith's inline comments. - Calculate the linkage for the type name using the linkage for the type. - Promote the type name visibility for the incomplete class types as well as

[PATCH] D46665: [Itanium] Emit type info names with external linkage.

2018-05-09 Thread Eric Fiselier via Phabricator via cfe-commits
EricWF updated this revision to Diff 146065. EricWF marked 3 inline comments as done. EricWF added a comment. Address @rjmccall's comments. https://reviews.llvm.org/D46665 Files: lib/CodeGen/ItaniumCXXABI.cpp test/CodeGenCXX/rtti-linkage.cpp Index: test/CodeGenCXX/rtti-linkage.cpp

[PATCH] D46665: [Itanium] Emit type info names with external linkage.

2018-05-09 Thread Eric Fiselier via Phabricator via cfe-commits
EricWF added a comment. @rjmccall Thank you for the quick review! https://reviews.llvm.org/D46665 ___ cfe-commits mailing list cfe-commits@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[PATCH] D46665: [Itanium] Emit type info names with external linkage.

2018-05-09 Thread Eric Fiselier via Phabricator via cfe-commits
This revision was automatically updated to reflect the committed changes. Closed by commit rC331957: [Itanium] Emit type info names with external linkage. (authored by EricWF, committed by ). Changed prior to commit: https://reviews.llvm.org/D46665?vs=146065&id=146069#toc Repository: rC Clan

[PATCH] D46665: [Itanium] Emit type info names with external linkage.

2018-05-10 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. I had to revert the last commit since it seemed to cause error (which looked unrelated?) on ppc64le-linux. Repository: rC Clang https://reviews.llvm.org/D46665 _

[PATCH] D45680: [C++2a] Implement operator<=> Part 2: Operator Rewritting and Overload Resolution.

2018-05-10 Thread Eric Fiselier via Phabricator via cfe-commits
EricWF updated this revision to Diff 146090. EricWF added a comment. Remove a bunch of nonsense this patch originally had. Specifically remove the bits of overload resolution which disambiguated rewritten expressions after the fact; Instead attempt to validate that the return type of the three-w

[PATCH] D46665: [Itanium] Emit type info names with external linkage.

2018-05-10 Thread Eric Fiselier via Phabricator via cfe-commits
This revision was automatically updated to reflect the committed changes. Closed by commit rC332028: [Itanium] Emit type info names with external linkage. (authored by EricWF, committed by ). Repository: rC Clang https://reviews.llvm.org/D46665 Files: lib/CodeGen/ItaniumCXXABI.cpp test/Co

[PATCH] D45680: [C++2a] Implement operator<=> Part 2: Operator Rewritting and Overload Resolution.

2018-05-10 Thread Eric Fiselier via Phabricator via cfe-commits
EricWF added inline comments. Comment at: include/clang/AST/ExprCXX.h:4218-4226 + struct ComparisonBits { +/// Whether this rewritten comparison expression has reverse-order +/// parameters. +unsigned IsSynthesized : 1; + }; + + union ExtraRewrittenBits { -

[PATCH] D45680: [C++2a] Implement operator<=> Part 2: Operator Rewritting and Overload Resolution.

2018-05-10 Thread Eric Fiselier via Phabricator via cfe-commits
EricWF updated this revision to Diff 146274. EricWF marked 13 inline comments as done. EricWF added a comment. - Change `CXXRewrittenExpr` to be a non-general wrapper only for rewritten comparison operators. - Start fixing and improving overload resolution diagnostics. https://reviews.llvm.org/

[PATCH] D45680: [C++2a] Implement operator<=> Part 2: Operator Rewritting and Overload Resolution.

2018-05-10 Thread Eric Fiselier via Phabricator via cfe-commits
EricWF marked 2 inline comments as done. EricWF added inline comments. Comment at: lib/Sema/SemaOverload.cpp:12543-12547 + Expr *Original = new (S.Context) + BinaryOperator(OpaqueValueExpr::Create(S.Context, Args[0]), + OpaqueValueExpr::Create(S.Context,

[PATCH] D45680: [C++2a] Implement operator<=> Part 2: Operator Rewritting and Overload Resolution.

2018-05-10 Thread Eric Fiselier via Phabricator via cfe-commits
EricWF marked 11 inline comments as done. EricWF added inline comments. Comment at: include/clang/AST/Stmt.h:254 + +unsigned Kind : 1; + }; rsmith wrote: > I don't think you need this either. Does keeping it help save bits in `CXXRewrittenOperatorExpr`? ht

[PATCH] D46740: [Clang Tablegen][RFC] Allow Early Textual Substitutions in `Diagnostic` messages.

2018-05-10 Thread Eric Fiselier via Phabricator via cfe-commits
EricWF created this revision. EricWF added reviewers: rsmith, rjmccall, aaron.ballman. Herald added a reviewer: a.sidorin. There are cases where the same string or select is repeated verbatim in a lot of diagnostics. This can be a pain to maintain and update. However, Tablegen provides no way st

[PATCH] D46740: [Clang Tablegen][RFC] Allow Early Textual Substitutions in `Diagnostic` messages.

2018-05-10 Thread Eric Fiselier via Phabricator via cfe-commits
EricWF updated this revision to Diff 146279. EricWF added a comment. Fix copy paste error. https://reviews.llvm.org/D46740 Files: include/clang/Basic/Diagnostic.td include/clang/Basic/DiagnosticSemaKinds.td utils/TableGen/ClangDiagnosticsEmitter.cpp Index: utils/TableGen/ClangDiagnostics

[PATCH] D45680: [C++2a] Implement operator<=> Part 2: Operator Rewritting and Overload Resolution.

2018-05-10 Thread Eric Fiselier via Phabricator via cfe-commits
EricWF updated this revision to Diff 146280. EricWF added a comment. Do better english in diagnostics. https://reviews.llvm.org/D45680 Files: include/clang/AST/ComparisonCategories.h include/clang/AST/Expr.h include/clang/AST/ExprCXX.h include/clang/AST/RecursiveASTVisitor.h include/c

[PATCH] D45680: [C++2a] Implement operator<=> Part 2: Operator Rewritting and Overload Resolution.

2018-05-10 Thread Eric Fiselier via Phabricator via cfe-commits
EricWF updated this revision to Diff 146281. EricWF added a comment. Fix fetching the correct source location information in `CXXRewrittenOperatorExpr`. https://reviews.llvm.org/D45680 Files: include/clang/AST/ComparisonCategories.h include/clang/AST/Expr.h include/clang/AST/ExprCXX.h

[PATCH] D45680: [C++2a] Implement operator<=> Part 2: Operator Rewritting and Overload Resolution.

2018-05-10 Thread Eric Fiselier via Phabricator via cfe-commits
EricWF updated this revision to Diff 146285. EricWF added a comment. - Update tests and improve diagnostics. Still more work to be done here though. https://reviews.llvm.org/D45680 Files: include/clang/AST/ComparisonCategories.h include/clang/AST/Expr.h include/clang/AST/ExprCXX.h inclu

[PATCH] D46740: [Clang Tablegen][RFC] Allow Early Textual Substitutions in `Diagnostic` messages.

2018-05-12 Thread Eric Fiselier via Phabricator via cfe-commits
EricWF updated this revision to Diff 146467. EricWF added a comment. @rsmith How does this look? Turns out we have to fully parse the diagnostic text in order to substitute modifier indexes, which is a bit of a complication. This patch does exactly that. There is still some work done to produc

[PATCH] D46740: [Clang Tablegen][RFC] Allow Early Textual Substitutions in `Diagnostic` messages.

2018-05-12 Thread Eric Fiselier via Phabricator via cfe-commits
EricWF added inline comments. Comment at: test/TableGen/text-substitution.td:9 + +// CHECK: AHHH +def AGGG : Warning<"%select{one|two}0 is OK">, InGroup; This test TBD. The `emit-diag-docs.td` test should hit all the major cases. https://reviews.llvm.org/D46740

[PATCH] D46740: [Clang Tablegen][RFC] Allow Early Textual Substitutions in `Diagnostic` messages.

2018-05-12 Thread Eric Fiselier via Phabricator via cfe-commits
EricWF updated this revision to Diff 146470. EricWF added a comment. - Update tests. The last thing I want to tackle is improving parsing errors to at least name the diagnostic being parsed. Naming *why* it's invalid if we don't provide its name. https://reviews.llvm.org/D46740 Files: incl

[PATCH] D46740: [Clang Tablegen][RFC] Allow Early Textual Substitutions in `Diagnostic` messages.

2018-05-12 Thread Eric Fiselier via Phabricator via cfe-commits
EricWF added a comment. @rsmith Can select indexes be negative? What's the correct type to represent them? Existing code seems to use `int`, but the LLVM style seems to suggest `unsigned` is more appropriate. Comment at: utils/TableGen/ClangDiagnosticsEmitter.cpp:591 + std::

[PATCH] D46740: [Clang Tablegen][RFC] Allow Early Textual Substitutions in `Diagnostic` messages.

2018-05-12 Thread Eric Fiselier via Phabricator via cfe-commits
EricWF updated this revision to Diff 146491. EricWF edited the summary of this revision. EricWF added a comment. - Get argument renumbering work as @rsmith requested. - Make the changes to existing diagnostics whitespace correct. - Cleanup `DiagnosticSemaKinds.td` and `SemaOverload.cpp` to take ad

[PATCH] D23041: Un-XFAIL GCC atomics.align

2018-05-12 Thread Eric Fiselier via Phabricator via cfe-commits
EricWF added a comment. OK, here's what I would do: (1) Split the vector, nullptr, and other weirdly failing tests into their own files. (2) In each file, use `defined(TEST_COMPILER_GCC) && __GXX_ABI_VERSION > 1006` (or w/e version is broken) to define a macro when the test is expected to fail.

[PATCH] D46740: [Clang Tablegen][RFC] Allow Early Textual Substitutions in `Diagnostic` messages.

2018-05-12 Thread Eric Fiselier via Phabricator via cfe-commits
EricWF updated this revision to Diff 146495. EricWF added a comment. Document `%sub` in `InternalsManual.rst` https://reviews.llvm.org/D46740 Files: docs/InternalsManual.rst include/clang/Basic/Diagnostic.td include/clang/Basic/DiagnosticSemaKinds.td lib/Basic/Diagnostic.cpp lib/Sema/

[PATCH] D46740: [Clang Tablegen][RFC] Allow Early Textual Substitutions in `Diagnostic` messages.

2018-05-12 Thread Eric Fiselier via Phabricator via cfe-commits
EricWF marked 4 inline comments as done. EricWF added a comment. In https://reviews.llvm.org/D46740#1097014, @rsmith wrote: > Thanks, this is great. > > In https://reviews.llvm.org/D46740#1096859, @EricWF wrote: > > > Turns out we have to fully parse the diagnostic text in order to substitute >

[PATCH] D46740: [Clang Tablegen][RFC] Allow Early Textual Substitutions in `Diagnostic` messages.

2018-05-12 Thread Eric Fiselier via Phabricator via cfe-commits
EricWF added a comment. In https://reviews.llvm.org/D46740#1097014, @rsmith wrote: > Thanks, this is great. > > In https://reviews.llvm.org/D46740#1096859, @EricWF wrote: > > > Turns out we have to fully parse the diagnostic text in order to substitute > > modifier indexes, which is a bit of a c

[PATCH] D46740: [Clang Tablegen][RFC] Allow Early Textual Substitutions in `Diagnostic` messages.

2018-05-12 Thread Eric Fiselier via Phabricator via cfe-commits
EricWF updated this revision to Diff 146498. EricWF marked 2 inline comments as done. EricWF added a comment. Address @rsmiths comments. - Prefer `int` to `unsigned`. - Substitute `note_ovl_candidate`. - Fix issues in docs. https://reviews.llvm.org/D46740 Files: docs/InternalsManual.rst in

[PATCH] D46740: [Clang Tablegen][RFC] Allow Early Textual Substitutions in `Diagnostic` messages.

2018-05-13 Thread Eric Fiselier via Phabricator via cfe-commits
EricWF updated this revision to Diff 146508. EricWF marked an inline comment as done. EricWF added a comment. Misc cleanups. - proof read and correct documentation. https://reviews.llvm.org/D46740 Files: docs/InternalsManual.rst include/clang/Basic/Diagnostic.td include/clang/Basic/Diagn

[PATCH] D46964: Implement class deduction guides for `std::array`

2018-05-18 Thread Eric Fiselier via Phabricator via cfe-commits
EricWF accepted this revision. EricWF added inline comments. This revision is now accepted and ready to land. Comment at: include/array:75 + template +array(T, U...) -> array; Don't we normally comment `// C++17` or similar for new features in the synops

[PATCH] D46740: [Clang Tablegen][RFC] Allow Early Textual Substitutions in `Diagnostic` messages.

2018-05-18 Thread Eric Fiselier via Phabricator via cfe-commits
EricWF marked 2 inline comments as done. EricWF added inline comments. Comment at: utils/TableGen/ClangDiagnosticsEmitter.cpp:514 + std::vector Diags = Records.getAllDerivedDefinitions("Diagnostic"); + llvm::for_each(Diags, [&](Record *R) { substituteDiagText(R, SubsMap); });

[PATCH] D46740: [Clang Tablegen][RFC] Allow Early Textual Substitutions in `Diagnostic` messages.

2018-05-18 Thread Eric Fiselier via Phabricator via cfe-commits
EricWF updated this revision to Diff 147581. EricWF marked an inline comment as done. EricWF added a comment. - Add error if a substitution and a diagnostic share the same name. Any final comments on this? https://reviews.llvm.org/D46740 Files: docs/InternalsManual.rst include/clang/Basic/

[PATCH] D47092: downgrade strong type info names to weak_odr linkage

2018-05-18 Thread Eric Fiselier via Phabricator via cfe-commits
EricWF added a comment. Sorry @rsmith, I was just about to tackle this. Repository: rC Clang https://reviews.llvm.org/D47092 ___ cfe-commits mailing list cfe-commits@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[PATCH] D47090: Implement C++17 .

2018-05-18 Thread Eric Fiselier via Phabricator via cfe-commits
EricWF added a comment. I would prefer if we completed `` (according to the current standard, not the LFTS spec), and then moved it. Would you be willing to do that instead? Repository: rCXX libc++ https://reviews.llvm.org/D47090 ___ cfe-commit

[PATCH] D40218: [Clang] Add __builtin_launder

2018-05-18 Thread Eric Fiselier via Phabricator via cfe-commits
EricWF updated this revision to Diff 147639. EricWF added a comment. - Handle array types as requested. - Attempt to handle incomplete class types. They are always considered in need of laundering. Including class templates who's instantiation hasn't been forced yet. @rsmith is this the correct

[PATCH] D46740: [Clang Tablegen][RFC] Allow Early Textual Substitutions in `Diagnostic` messages.

2018-05-18 Thread Eric Fiselier via Phabricator via cfe-commits
EricWF updated this revision to Diff 147640. EricWF added a comment. - Remove changes to Sema, and overload resolution diagnostics. Only change the special member function diagnostics as an example. If there are no further comments, I'll commit this once I've run the test suite. https://review

[PATCH] D46740: [Clang Tablegen][RFC] Allow Early Textual Substitutions in `Diagnostic` messages.

2018-05-18 Thread Eric Fiselier via Phabricator via cfe-commits
This revision was not accepted when it landed; it landed in state "Needs Review". This revision was automatically updated to reflect the committed changes. Closed by commit rC332799: [Clang Tablegen][RFC] Allow Early Textual Substitutions in `Diagnostic`… (authored by EricWF, committed by ). Rep

[PATCH] D47101: [Sema] Use %sub to cleanup overload diagnostics

2018-05-18 Thread Eric Fiselier via Phabricator via cfe-commits
EricWF created this revision. EricWF added a reviewer: rsmith. This patch adds the newly added `%sub` diagnostic modifier to cleanup repetition in the overload candidate diagnostics. I think this should be good to go. @rsmith: Some of the notes now emit `function template` where they only said

[PATCH] D47090: Implement C++17 .

2018-05-18 Thread Eric Fiselier via Phabricator via cfe-commits
EricWF added a comment. In https://reviews.llvm.org/D47090#1105389, @Quuxplusone wrote: > > I would prefer if we completed (according to > > the current standard, not the LFTS spec), and then moved it. > > Would you be willing to do that instead? > > Let me see if I understand. libc++'s `` dif

[PATCH] D47090: Implement C++17 .

2018-05-19 Thread Eric Fiselier via Phabricator via cfe-commits
EricWF added a comment. I should add that this is the approach I've taken with `` with no complaints. Repository: rCXX libc++ https://reviews.llvm.org/D47090 ___ cfe-commits mailing list cfe-commits@lists.llvm.org http://lists.llvm.org/cgi-bin/m

[PATCH] D47090: Implement C++17 .

2018-05-19 Thread Eric Fiselier via Phabricator via cfe-commits
EricWF added a subscriber: dexonsmith. EricWF added a comment. Comment at: src/memory_resource.cpp:62 + +namespace { + We certainly don't want a different definition of the global resources in each TU. See below. Comment at: src/memory_reso

[PATCH] D47090: Implement C++17 .

2018-05-19 Thread Eric Fiselier via Phabricator via cfe-commits
EricWF added inline comments. Comment at: src/memory_resource.cpp:62 + +namespace { + Quuxplusone wrote: > EricWF wrote: > > We certainly don't want a different definition of the global resources in > > each TU. See below. > @EricWF: I think all of your comments

[PATCH] D47109: LWG 2969 "polymorphic_allocator::construct() shouldn't pass resource()"

2018-05-19 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. This LGTM. Let's land it and see if anybody complains. Repository: rCXX libc++ https://reviews.llvm.org/D47109 ___ cfe-commits mailing list cf

[PATCH] D47150: [Clang Tablegen] Add llvm_unreachable() to getModifierName()

2018-05-21 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. Comment at: utils/TableGen/ClangDiagnosticsEmitter.cpp:495 } + llvm_unreachable("invalid modifier type"); } Perhaps this should say "unhandled cas

[PATCH] D47109: LWG 2969 "polymorphic_allocator::construct() shouldn't pass resource()"

2018-05-28 Thread Eric Fiselier via Phabricator via cfe-commits
EricWF closed this revision. EricWF added a comment. Committed as r84. Repository: rCXX libc++ https://reviews.llvm.org/D47109 ___ cfe-commits mailing list cfe-commits@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[PATCH] D47111: : Implement monotonic_buffer_resource.

2018-05-28 Thread Eric Fiselier via Phabricator via cfe-commits
EricWF added a comment. FYI I have a full implementation of this laying around as https://reviews.llvm.org/D27402 (https://reviews.llvm.org/D27402). But I have never taken the time to resolve merge conflicts. Feel free to steal any of the tests if they're still relevant. Comm

[PATCH] D47111: : Implement monotonic_buffer_resource.

2018-05-28 Thread Eric Fiselier via Phabricator via cfe-commits
EricWF added inline comments. Comment at: include/experimental/memory_resource:428 +__monotonic_buffer_header *__next_; +size_t __capacity_; +size_t __alignment_; Can't we determine the capacity in most cases simply using `static_cast(this) - static_

[PATCH] D47111: : Implement monotonic_buffer_resource.

2018-05-28 Thread Eric Fiselier via Phabricator via cfe-commits
EricWF added inline comments. Comment at: src/experimental/memory_resource.cpp:237 + +void *result = __res_->allocate(aligned_capacity, align); +__monotonic_buffer_header *header = (__monotonic_buffer_header *)((char *)result + aligned_capacity - header_size); --

[PATCH] D37035: Implement __builtin_LINE() et. al. to support source location capture.

2018-05-29 Thread Eric Fiselier via Phabricator via cfe-commits
EricWF updated this revision to Diff 149007. EricWF added a comment. - Merge with upstream. Ping. https://reviews.llvm.org/D37035 Files: docs/LanguageExtensions.rst include/clang/AST/Expr.h include/clang/AST/ExprCXX.h include/clang/AST/RecursiveASTVisitor.h include/clang/AST/SourceLo

[PATCH] D47101: [Sema] Use %sub to cleanup overload diagnostics

2018-05-29 Thread Eric Fiselier via Phabricator via cfe-commits
EricWF added a comment. @rsmith Ping. Do you have any objection to the addition of "template" to some of the overload diagnostics? Repository: rC Clang https://reviews.llvm.org/D47101 ___ cfe-commits mailing list cfe-commits@lists.llvm.org http

[PATCH] D47101: [Sema] Use %sub to cleanup overload diagnostics

2018-05-29 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. Actually I'm OK making this a post-commit review. @rsmith Please let me know if you have any thoughts in your own time. Repository: rC Clang https://reviews.llvm.org/D47101

[PATCH] D37035: Implement __builtin_LINE() et. al. to support source location capture.

2018-05-29 Thread Eric Fiselier via Phabricator via cfe-commits
EricWF updated this revision to Diff 149009. EricWF added a comment. - Fix merge conflicts. https://reviews.llvm.org/D37035 Files: docs/LanguageExtensions.rst include/clang/AST/Expr.h include/clang/AST/ExprCXX.h include/clang/AST/RecursiveASTVisitor.h include/clang/AST/SourceLocExprSc

[PATCH] D47101: [Sema] Use %sub to cleanup overload diagnostics

2018-05-29 Thread Eric Fiselier via Phabricator via cfe-commits
This revision was automatically updated to reflect the committed changes. Closed by commit rL333485: [Sema] Use %sub to cleanup overload diagnostics (authored by EricWF, committed by ). Herald added a subscriber: llvm-commits. Changed prior to commit: https://reviews.llvm.org/D47101?vs=147649&i

[PATCH] D38757: [libc++] Fix PR34898 - vector iterator constructors and assign method perform push_back instead of emplace_back.

2017-10-17 Thread Eric Fiselier via Phabricator via cfe-commits
EricWF accepted this revision. EricWF added a comment. In https://reviews.llvm.org/D38757#897536, @dlj wrote: > Hmm, looking more at this change... while it does make the behaviour > consistent for Forward and Input iterators, I think it's just making them > both do the wrong thing. > > Specifi

[PATCH] D38757: [libc++] Fix PR34898 - vector iterator constructors and assign method perform push_back instead of emplace_back.

2017-10-17 Thread Eric Fiselier via Phabricator via cfe-commits
EricWF updated this revision to Diff 119301. EricWF added a comment. - Update whitespace. https://reviews.llvm.org/D38757 Files: include/deque include/list include/vector test/std/containers/sequences/deque/deque.cons/assign_iter_iter.pass.cpp test/std/containers/sequences/deque/deque

[PATCH] D38757: [libc++] Fix PR34898 - vector iterator constructors and assign method perform push_back instead of emplace_back.

2017-10-17 Thread Eric Fiselier via Phabricator via cfe-commits
This revision was automatically updated to reflect the committed changes. Closed by commit rL315994: [libc++] Fix PR34898 - vector iterator constructors and assign method perform… (authored by EricWF). Changed prior to commit: https://reviews.llvm.org/D38757?vs=119301&id=119302#toc Repository:

[PATCH] D45179: [libc++] Add _LIBCPP_ENABLE_NODISCARD and _LIBCPP_NODISCARD_EXT to allow pre-C++2a [[nodiscard]]

2018-09-06 Thread Eric Fiselier via Phabricator via cfe-commits
EricWF added a comment. I don't think it ever landed. I'll try to get it in this week. https://reviews.llvm.org/D45179 ___ cfe-commits mailing list cfe-commits@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[PATCH] D49509: [libc++] Allow running ABI list tests with different ABI versions

2018-07-19 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. Though it might be worth noting that we don't really have an "ABI v2" yet; we're just staging it ATM. Repository: rL LLVM https://reviews.llvm.org/D49509 _

[PATCH] D49067: Stop wrapping __has_include in another macro

2018-07-23 Thread Eric Fiselier via Phabricator via cfe-commits
EricWF added a reviewer: mclow.lists. EricWF added a subscriber: mclow.lists. EricWF added a comment. Where are the special lexing rules specified? Comment at: include/__config:153 +#ifndef __has_include +#define __has_include(...) 0 #endif I do prefer not hij

[PATCH] D49774: [libc++] Use __int128_t to represent file_time_type.

2018-07-24 Thread Eric Fiselier via Phabricator via cfe-commits
EricWF created this revision. EricWF added reviewers: mclow.lists, ldionne, joerg, arthur.j.odwyer. Herald added subscribers: cfe-commits, christof. The ``file_time_type`` time point is used to represent the write times for files. Its job is to act as part of a C++ wrapper for less ideal system i

[PATCH] D49773: Add new file test/support/test_comparisons.h

2018-07-24 Thread Eric Fiselier via Phabricator via cfe-commits
EricWF added a comment. Some of this stuff is marked `constexpr` despite it requiring C++14 constexpr semantics. Can they be non-constexpr in C++11 and still function? Or should the header explicitly require C++14 to be included? https://reviews.llvm.org/D49773

[PATCH] D49774: [libc++] Use __int128_t to represent file_time_type.

2018-07-24 Thread Eric Fiselier via Phabricator via cfe-commits
EricWF added a comment. This is the final change I need to land before adding ``, so I don't plan to let this review linger long. If you have any strong objections, please speak now or forever hold your peace (or at least until the next ABI break, whichever comes first). Repository: rCXX li

[PATCH] D49773: Add new file test/support/test_comparisons.h

2018-07-24 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. Otherwise, I'm quite happy with this patch. The only downside I see is if `testComparisons6` fails, it will report the source of the failure as being in the header, and not provide information

[PATCH] D49774: [libc++] Use __int128_t to represent file_time_type.

2018-07-24 Thread Eric Fiselier via Phabricator via cfe-commits
EricWF added a comment. In https://reviews.llvm.org/D49774#1174565, @mclow.lists wrote: > I haven't reviewed this closely, but you might want to look at > http://wg21.link/P0355, where we added a `file_clock` and `file_time` types. Thanks for the information. It doesn't look to have too much b

[PATCH] D49782: [libcxx] [windows] Fix warning about comparing ints of different signs

2018-07-25 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: rCXX libc++ https://reviews.llvm.org/D49782 ___ cfe-commits mailing list cfe-commits@lists.llvm.org http://lists.llvm.org/cg

[PATCH] D49774: [libc++] Use __int128_t to represent file_time_type.

2018-07-25 Thread Eric Fiselier via Phabricator via cfe-commits
EricWF added a comment. In https://reviews.llvm.org/D49774#1175679, @BillyONeal wrote: > In https://reviews.llvm.org/D49774#1175650, @ldionne wrote: > > > In https://reviews.llvm.org/D49774#1175543, @BillyONeal wrote: > > > > > In https://reviews.llvm.org/D49774#1175131, @mclow.lists wrote: > > >

[PATCH] D49813: [libc++] Make compile with gcc 4.8.5

2018-07-25 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. Urg. That's an old compiler. But this looks OK to me. Repository: rCXX libc++ https://reviews.llvm.org/D49813 ___ cfe-commits mailing list cfe

[PATCH] D49774: [libc++] Use __int128_t to represent file_time_type.

2018-07-25 Thread Eric Fiselier via Phabricator via cfe-commits
EricWF updated this revision to Diff 157349. EricWF added a comment. Update with misc cleanups. https://reviews.llvm.org/D49774 Files: include/experimental/filesystem src/chrono.cpp src/experimental/filesystem/filesystem_common.h src/experimental/filesystem/operations.cpp src/include/

[PATCH] D49774: [libc++] Use __int128_t to represent file_time_type.

2018-07-25 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. I'm going to go ahead and commit this now. We can address concerns about the future C++20 spec in follow up commits. https://reviews.llvm.org/D49774 ___

[PATCH] D49774: [libc++] Use __int128_t to represent file_time_type.

2018-07-25 Thread Eric Fiselier via Phabricator via cfe-commits
This revision was automatically updated to reflect the committed changes. Closed by commit rCXX337960: [libc++] Use __int128_t to represent file_time_type. (authored by EricWF, committed by ). Repository: rCXX libc++ https://reviews.llvm.org/D49774 Files: include/experimental/filesystem s

[PATCH] D49813: [libc++] Make compile with gcc 4.8.5

2018-07-25 Thread Eric Fiselier via Phabricator via cfe-commits
EricWF closed this revision. EricWF added a comment. r337962. Thanks. Repository: rCXX libc++ https://reviews.llvm.org/D49813 ___ cfe-commits mailing list cfe-commits@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[PATCH] D49828: [libc++] Add hack to allow ubsan to work w/o compiler-rt (__muloti4 is undefined)

2018-07-25 Thread Eric Fiselier via Phabricator via cfe-commits
EricWF created this revision. EricWF added reviewers: mclow.lists, ldionne, rsmith, jyknight, echristo. Herald added a subscriber: dberris. Using __int128_t with UBSAN causes link errors unless compiler-rt is providing the runtime library. Specifically ubsan generates calls to __muloti4 but libgc

[PATCH] D49828: [libc++] Add hack to allow ubsan to work w/o compiler-rt (__muloti4 is undefined)

2018-07-25 Thread Eric Fiselier via Phabricator via cfe-commits
This revision was automatically updated to reflect the committed changes. Closed by commit rCXX337990: [libc++] Add hack to allow ubsan to work w/o compiler-rt (__muloti4 is… (authored by EricWF, committed by ). Repository: rCXX libc++ https://reviews.llvm.org/D49828 Files: src/experimental

[PATCH] D45015: [Preprocessor] Allow libc++ to detect when aligned allocation is unavailable.

2018-08-03 Thread Eric Fiselier via Phabricator via cfe-commits
EricWF added a comment. Hi, I'm in the process of moving cities. please take over. Thanks, and sorry https://reviews.llvm.org/D45015 ___ cfe-commits mailing list cfe-commits@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[PATCH] D50205: [libc++] Add availability markup for aligned new/delete

2018-08-03 Thread Eric Fiselier via Phabricator via cfe-commits
EricWF added a comment. How does this work when a user provides their own definitions? Does the attribute from the declaration still produce a warning? If so, then I think an in-compiler approach is better. Repository: rCXX libc++ https://reviews.llvm.org/D50205 _

[PATCH] D42887: [Driver] Add option to manually control discarding value names in LLVM IR.

2018-02-07 Thread Eric Fiselier via Phabricator via cfe-commits
EricWF marked 5 inline comments as done. EricWF added inline comments. Comment at: lib/Driver/ToolChains/Clang.cpp:3269-3274 + const bool IsAssertBuild = #ifdef NDEBUG - CmdArgs.push_back("-disable-llvm-verifier"); - // Discard LLVM value names in -asserts builds. - CmdArgs.

[PATCH] D42887: [Driver] Add option to manually control discarding value names in LLVM IR.

2018-02-07 Thread Eric Fiselier via Phabricator via cfe-commits
EricWF updated this revision to Diff 133251. EricWF marked an inline comment as done. EricWF added a comment. - Fix documentation as requested. - Put entire statement inside of `#ifdef` blocks. https://reviews.llvm.org/D42887 Files: docs/UsersManual.rst include/clang/Driver/Options.td lib

[PATCH] D42887: [Driver] Add option to manually control discarding value names in LLVM IR.

2018-02-07 Thread Eric Fiselier via Phabricator via cfe-commits
This revision was automatically updated to reflect the committed changes. Closed by commit rC324498: [Driver] Add option to manually control discarding value names in LLVM IR. (authored by EricWF, committed by ). Repository: rC Clang https://reviews.llvm.org/D42887 Files: docs/UsersManual.r

[PATCH] D41223: [libc++] Fix PR35491 - std::array of zero-size doesn't work with non-default constructible types.

2018-02-07 Thread Eric Fiselier via Phabricator via cfe-commits
EricWF updated this revision to Diff 133285. EricWF added a comment. - Update with new, hopefully working, version. https://reviews.llvm.org/D41223 Files: include/__config include/array test/libcxx/containers/sequences/array/array.zero/db_back.pass.cpp test/libcxx/containers/sequences/a

[PATCH] D41223: [libc++] Fix PR35491 - std::array of zero-size doesn't work with non-default constructible types.

2018-02-07 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. This was reverted as it caused build failures. Re-opening with new version. Repository: rCXX libc++ https://reviews.llvm.org/D41223 ___ cfe-co

[PATCH] D41223: [libc++] Fix PR35491 - std::array of zero-size doesn't work with non-default constructible types.

2018-02-07 Thread Eric Fiselier via Phabricator via cfe-commits
EricWF accepted this revision. EricWF added a comment. Accepting new version. https://reviews.llvm.org/D41223 ___ cfe-commits mailing list cfe-commits@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[PATCH] D41223: [libc++] Fix PR35491 - std::array of zero-size doesn't work with non-default constructible types.

2018-02-07 Thread Eric Fiselier via Phabricator via cfe-commits
This revision was automatically updated to reflect the committed changes. Closed by commit rCXX324526: [libc++] Fix PR35491 - std::array of zero-size doesn't work with non-default… (authored by EricWF, committed by ). Repository: rCXX libc++ https://reviews.llvm.org/D41223 Files: include/__

[PATCH] D41223: [libc++] Fix PR35491 - std::array of zero-size doesn't work with non-default constructible types.

2018-02-07 Thread Eric Fiselier via Phabricator via cfe-commits
This revision was automatically updated to reflect the committed changes. Closed by commit rL324526: [libc++] Fix PR35491 - std::array of zero-size doesn't work with non-default… (authored by EricWF, committed by ). Herald added a subscriber: llvm-commits. Changed prior to commit: https://revie

[PATCH] D40218: [Clang] Add __builtin_launder

2018-02-07 Thread Eric Fiselier via Phabricator via cfe-commits
EricWF added a comment. Ping. https://reviews.llvm.org/D40218 ___ cfe-commits mailing list cfe-commits@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[PATCH] D40218: [Clang] Add __builtin_launder

2018-02-07 Thread Eric Fiselier via Phabricator via cfe-commits
EricWF updated this revision to Diff 133290. EricWF added a comment. - Rebase off master. https://reviews.llvm.org/D40218 Files: include/clang/Basic/Builtins.def include/clang/Basic/DiagnosticSemaKinds.td lib/AST/ExprConstant.cpp lib/CodeGen/CGBuiltin.cpp lib/Sema/SemaChecking.cpp t

[PATCH] D37035: Implement __builtin_LINE() et. al. to support source location capture.

2018-02-07 Thread Eric Fiselier via Phabricator via cfe-commits
EricWF updated this revision to Diff 133294. EricWF added reviewers: aaron.ballman, bogner, majnemer. EricWF added a comment. Ping. - Rebase off trunk. https://reviews.llvm.org/D37035 Files: docs/LanguageExtensions.rst include/clang/AST/Expr.h include/clang/AST/ExprCXX.h include/clang/

[PATCH] D42987: [libc++abi] fix compilation in C++17 mode

2018-02-07 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. I agree with Marshall. This should define `_LIBCPP_ENABLE_CXX17_REMOVED_UNEXPECTED_FUNCTIONS` instead of `_LIBCPP_BUILDING_LIBRARY`. Other than that, this LGTM. Repository: rCXXA libc++abi

[PATCH] D43047: [Builtins] Overload __builtin_operator_new/delete to accept an optional alignment parameter.

2018-02-07 Thread Eric Fiselier via Phabricator via cfe-commits
EricWF created this revision. EricWF added reviewers: rsmith, majnemer, aaron.ballman, erik.pilkington, bogner, ahatanak. Libc++'s default allocator uses `__builtin_operator_new` and `__builtin_operator_delete` in order to allow the calls to new/delete to be ellided. However, libc++ now needs t

[PATCH] D43047: [Builtins] Overload __builtin_operator_new/delete to accept an optional alignment parameter.

2018-02-07 Thread Eric Fiselier via Phabricator via cfe-commits
EricWF marked an inline comment as done. EricWF added inline comments. Comment at: lib/CodeGen/CGExprCXX.cpp:1309-1344 RValue CodeGenFunction::EmitBuiltinNewDeleteCall(const FunctionProtoType *Type, - const Expr *Arg, -

[PATCH] D43047: [Builtins] Overload __builtin_operator_new/delete to accept an optional alignment parameter.

2018-02-07 Thread Eric Fiselier via Phabricator via cfe-commits
EricWF added inline comments. Comment at: lib/CodeGen/CGExprCXX.cpp:1309-1344 RValue CodeGenFunction::EmitBuiltinNewDeleteCall(const FunctionProtoType *Type, - const Expr *Arg, - bool

[PATCH] D43047: [Builtins] Overload __builtin_operator_new/delete to accept an optional alignment parameter.

2018-02-07 Thread Eric Fiselier via Phabricator via cfe-commits
EricWF updated this revision to Diff 133365. EricWF added a comment. @rsmith Is this the direction you were thinking? I haven't updated the tests yet, but I wanted to make the other changes visible earlier. https://reviews.llvm.org/D43047 Files: include/clang/Basic/Builtins.def include/cl

[PATCH] D42987: [libc++abi] fix compilation in C++17 mode

2018-02-08 Thread Eric Fiselier via Phabricator via cfe-commits
EricWF added a comment. @rsmith. Sorry, you're right. I didn't notice that we already used `_LIBCPP_BUILDING_LIBRARY` in libc++abi. I wasn't sure if `_BUILDING_LIBRARY` changed the linkage or of any symbols, or changed their explicit instantiation. And, indeed, on Windows there's a problem with

[PATCH] D43047: [Builtins] Overload __builtin_operator_new/delete to allow forwarding to usual allocation/deallocation functions.

2018-02-08 Thread Eric Fiselier via Phabricator via cfe-commits
EricWF updated this revision to Diff 133517. EricWF retitled this revision from "[Builtins] Overload __builtin_operator_new/delete to accept an optional alignment parameter." to "[Builtins] Overload __builtin_operator_new/delete to allow forwarding to usual allocation/deallocation functions.". E

[PATCH] D42344: [libc++] Use multi-key tree search for {map, set}::{count, equal_range}

2018-02-08 Thread Eric Fiselier via Phabricator via cfe-commits
EricWF added a comment. This LGTM. https://reviews.llvm.org/D42344 ___ cfe-commits mailing list cfe-commits@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[PATCH] D41316: [libcxx] Allow random_device to be built optionally

2018-02-09 Thread Eric Fiselier via Phabricator via cfe-commits
EricWF added a comment. I think the direction here is OK. Although I really hate allowing bits of libc++ to be "optional". In this case it should be OK, but often it makes the library trickier to maintain -- and these configurations often go untested between releases. Commen

[PATCH] D41316: [libcxx] Allow random_device to be built optionally

2018-02-09 Thread Eric Fiselier via Phabricator via cfe-commits
EricWF added inline comments. Comment at: test/std/experimental/filesystem/lit.local.cfg:5 + +# filesystem_test_helper uses random_device to generate random path. +if 'libcpp-has-no-random-device' in config.available_features: EricWF wrote: > I would rather keep

  1   2   3   4   5   6   7   8   9   10   >