[PATCH] D128750: [C++20] Implement P2113R0: Changes to the Partial Ordering of Constrained Functions

2022-08-30 Thread Roy Jacobson via Phabricator via cfe-commits
royjacobson added a comment. I looked at the new `Concept auto` changes, they seem fine. Thanks a LOT @ychen for working on this, it's been a very interesting patch to me :) I'll let @mizvekov accept since he is much more experienced than me in those areas. Repository: rG LLVM Github Monore

[PATCH] D133044: [Frontend] Restore Preprocessor::getPredefines()

2022-08-31 Thread Roy Jacobson via Phabricator via cfe-commits
royjacobson created this revision. Herald added a subscriber: kristof.beyls. Herald added a project: All. royjacobson requested review of this revision. Herald added a project: clang. Herald added a subscriber: cfe-commits. A patch from May removed Preprocessor::getPredefines() from Clang's API,

[PATCH] D133044: [Frontend] Restore Preprocessor::getPredefines()

2022-08-31 Thread Roy Jacobson via Phabricator via cfe-commits
royjacobson updated this revision to Diff 457070. royjacobson edited the summary of this revision. royjacobson added a comment. Add a link to github issue. Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D133044/new/ https://reviews.llvm.org/D133044

[PATCH] D133044: [Frontend] Restore Preprocessor::getPredefines()

2022-08-31 Thread Roy Jacobson via Phabricator via cfe-commits
This revision was landed with ongoing or failed builds. This revision was automatically updated to reflect the committed changes. Closed by commit rGbb9dedce5d01: [Frontend] Restore Preprocessor::getPredefines() (authored by royjacobson). Repository: rG LLVM Github Monorepo CHANGES SINCE LAST

[PATCH] D133262: [clang] Represent __make_integer_seq as alias template in the AST

2022-09-03 Thread Roy Jacobson via Phabricator via cfe-commits
royjacobson added a comment. There are some known bugs about how we handle this built-in in the AST- #42102, #51928, #54993. Is it possible that your patch solves them? It would be great if it does, I hit one of them in the wild a while back. Repository: rG LLVM Github Monorepo CHANGES SINC

[PATCH] D133262: [clang] Fixes how we represent / emulate builtin templates

2022-09-08 Thread Roy Jacobson via Phabricator via cfe-commits
royjacobson added a comment. In D133262#3775375 , @mizvekov wrote: > @royjacobson I decided to do a complete job here and fix all those issues > except #54993. Can you confirm? > > I also applied the same idea to `type_pack_element` as I saw a crash rela

[PATCH] D133262: [clang] Fixes how we represent / emulate builtin templates

2022-09-08 Thread Roy Jacobson via Phabricator via cfe-commits
royjacobson added a comment. In D133262#3778555 , @mizvekov wrote: > The snippets from the bug reports are using libc++ and > std::make_integer_sequence directly, which we avoid in these kinds of > regression tests, we tend to make very reduced test cas

[PATCH] D133659: [Clang] P1169R4: static operator()

2022-09-11 Thread Roy Jacobson via Phabricator via cfe-commits
royjacobson created this revision. Herald added a project: All. royjacobson updated this revision to Diff 459334. royjacobson added a comment. royjacobson updated this revision to Diff 459349. royjacobson updated this revision to Diff 459355. royjacobson retitled this revision from "[Clang] Impleme

[PATCH] D133659: [Clang] P1169R4: static operator()

2022-09-11 Thread Roy Jacobson via Phabricator via cfe-commits
royjacobson updated this revision to Diff 459361. royjacobson edited the summary of this revision. royjacobson added a comment. Fix codegen test on windows, rebase on main. Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D133659/new/ https://reviews.l

[PATCH] D133659: [Clang] P1169R4: static operator()

2022-09-11 Thread Roy Jacobson via Phabricator via cfe-commits
royjacobson marked 2 inline comments as done. royjacobson added a comment. Wow, thanks for the quick review! In D133659#3783008 , @cor3ntin wrote: > Thanks a lot for working on that! > > I think this is the right direction but i would like to see more te

[PATCH] D133659: [Clang] P1169R4: static operator()

2022-09-11 Thread Roy Jacobson via Phabricator via cfe-commits
royjacobson updated this revision to Diff 459387. royjacobson marked an inline comment as done. royjacobson added a comment. Fix conversion to function pointer, add more tests and apply Corentin's wording. Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.or

[PATCH] D133659: [Clang] P1169R4: static operator()

2022-09-12 Thread Roy Jacobson via Phabricator via cfe-commits
royjacobson updated this revision to Diff 459413. royjacobson added a comment. Fix test after warning text change Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D133659/new/ https://reviews.llvm.org/D133659 Files: clang/docs/ReleaseNotes.rst cla

[PATCH] D133659: [Clang] P1169R4: static operator()

2022-09-12 Thread Roy Jacobson via Phabricator via cfe-commits
royjacobson updated this revision to Diff 459414. royjacobson added a comment. format Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D133659/new/ https://reviews.llvm.org/D133659 Files: clang/docs/ReleaseNotes.rst clang/include/clang/Basic/Diagn

[PATCH] D133659: [Clang] P1169R4: static operator()

2022-09-12 Thread Roy Jacobson via Phabricator via cfe-commits
royjacobson marked 6 inline comments as done. royjacobson added inline comments. Comment at: clang/lib/Parse/ParseExprCXX.cpp:1265 + if (Intro.hasLambdaCapture()) +P.Diag(StaticLoc, diag::err_static_lambda_captures); +} cor3ntin wrote: > We might want to add

[PATCH] D133659: [Clang] P1169R4: static operator()

2022-09-12 Thread Roy Jacobson via Phabricator via cfe-commits
royjacobson updated this revision to Diff 459525. royjacobson marked an inline comment as done. royjacobson added a comment. Add note in diagnostic. Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D133659/new/ https://reviews.llvm.org/D133659 Files:

[PATCH] D133659: [Clang] P1169R4: static operator()

2022-09-14 Thread Roy Jacobson via Phabricator via cfe-commits
royjacobson updated this revision to Diff 460155. royjacobson added a comment. Add tests required by reviewerd. Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D133659/new/ https://reviews.llvm.org/D133659 Files: clang/docs/ReleaseNotes.rst clang

[PATCH] D128750: [c++20] Implement P2113R0: Changes to the Partial Ordering of Constrained Functions

2022-07-03 Thread Roy Jacobson via Phabricator via cfe-commits
royjacobson requested changes to this revision. royjacobson added a comment. This revision now requires changes to proceed. Thanks for working on this! I like the approach, but two comments: I would like more tests for the different forms of template argument deduction. Some suggestions for thin

[PATCH] D129170: [Sema] Add deprecation warnings for some compiler provided __has_* type traits

2022-07-05 Thread Roy Jacobson via Phabricator via cfe-commits
royjacobson created this revision. Herald added a project: All. royjacobson requested review of this revision. Herald added a project: clang. Herald added a subscriber: cfe-commits. Some compiler provided type traits like __has_trivial_constructor have been documented as deprecated for quite some

[PATCH] D129170: [Sema] Add deprecation warnings for some compiler provided __has_* type traits

2022-07-06 Thread Roy Jacobson via Phabricator via cfe-commits
royjacobson updated this revision to Diff 442680. royjacobson added a comment. Address CR comments. Make the switch case slightly more concise. Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D129170/new/ https://reviews.llvm.org/D129170 Files: cla

[PATCH] D129170: [Sema] Add deprecation warnings for some compiler provided __has_* type traits

2022-07-06 Thread Roy Jacobson via Phabricator via cfe-commits
royjacobson marked 9 inline comments as done and 2 inline comments as done. royjacobson added inline comments. Comment at: clang/include/clang/Basic/DiagnosticGroups.td:190 : DiagGroup<"deprecated-dynamic-exception-spec">; +def DeprecatedHasBuiltins : DiagGroup<"deprecated-h

[PATCH] D129170: [Sema] Add deprecation warnings for some compiler provided __has_* type traits

2022-07-07 Thread Roy Jacobson via Phabricator via cfe-commits
royjacobson marked 3 inline comments as done. royjacobson added inline comments. Comment at: clang/lib/Sema/SemaExprCXX.cpp:5400-5401 +SourceLocation KWLoc) { + if (!S.getLangOpts().CPlusPlus11) +return; + erichkea

[PATCH] D129170: [Sema] Add deprecation warnings for some compiler provided __has_* type traits

2022-07-08 Thread Roy Jacobson via Phabricator via cfe-commits
royjacobson added inline comments. Comment at: clang/lib/Sema/SemaExprCXX.cpp:5400-5401 +SourceLocation KWLoc) { + if (!S.getLangOpts().CPlusPlus11) +return; + aaron.ballman wrote: > erichkeane wrote: > > royjacobs

[PATCH] D123182: [Concepts] Fix issue #53640

2022-04-05 Thread Roy Jacobson via Phabricator via cfe-commits
royjacobson created this revision. Herald added a project: All. royjacobson requested review of this revision. Herald added a project: clang. Herald added a subscriber: cfe-commits. Constraints were used for overload resolution tie breaking even when it was not allowed because the functions had d

[PATCH] D123182: [Concepts] Fix issue #53640

2022-04-05 Thread Roy Jacobson via Phabricator via cfe-commits
royjacobson updated this revision to Diff 420708. royjacobson added a comment. Fixed missing doc for new argument Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D123182/new/ https://reviews.llvm.org/D123182 Files: clang/docs/ReleaseNotes.rst cla

[PATCH] D128750: [c++20] Implement P2113R0: Changes to the Partial Ordering of Constrained Functions

2022-07-26 Thread Roy Jacobson via Phabricator via cfe-commits
royjacobson added a comment. In D128750#3663161 , @ychen wrote: > In D128750#3662898 , @royjacobson > wrote: > >> but in your example with T/U/V we have 3 template parameters that we could >> reorder in 6 differ

[PATCH] D130058: [Clang] Diagnose ill-formed constant expression when setting a non fixed enum to a value outside the range of the enumeration values

2022-07-27 Thread Roy Jacobson via Phabricator via cfe-commits
royjacobson added inline comments. Comment at: clang/test/SemaCXX/constant-expression-cxx11.cpp:2420 + constexpr E1 x2 = static_cast(8); // expected-error {{must be initialized by a constant expression}} + // expected-note@-1 {{integer value 8 is outside the valid range of val

[PATCH] D130936: [SemaCXX] Validate destructor is valid for dependent classes

2022-08-01 Thread Roy Jacobson via Phabricator via cfe-commits
royjacobson created this revision. Herald added a project: All. royjacobson updated this revision to Diff 449130. royjacobson added a comment. royjacobson retitled this revision from "[SemaCXX] Fix destructor name accepts-invalid bug." to "[SemaCXX] Validate destructor is valid for dependent clas

[PATCH] D130936: [SemaCXX] Validate destructor is valid for dependent classes

2022-08-02 Thread Roy Jacobson via Phabricator via cfe-commits
royjacobson updated this revision to Diff 449344. royjacobson edited the summary of this revision. royjacobson added a comment. Add newline and release notes. Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D130936/new/ https://reviews.llvm.org/D13093

[PATCH] D130936: [SemaCXX] Validate destructor is valid for dependent classes

2022-08-02 Thread Roy Jacobson via Phabricator via cfe-commits
This revision was automatically updated to reflect the committed changes. Closed by commit rG508c431ed9ab: [SemaCXX] Validate destructor is valid for dependent classes (authored by royjacobson). Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D130936/ne

[PATCH] D128619: [Clang] Implement P0848 (Conditionally Trivial Special Member Functions)

2022-08-04 Thread Roy Jacobson via Phabricator via cfe-commits
royjacobson updated this revision to Diff 450072. royjacobson added a comment. Rebase on main and re-target LLVM16 in cxx_status Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D128619/new/ https://reviews.llvm.org/D128619 Files: clang/docs/Release

[PATCH] D130689: [LLVM] Update C++ standard to 17

2022-08-07 Thread Roy Jacobson via Phabricator via cfe-commits
royjacobson added a comment. This seems to have been more disruptive than expected, since an existing CMakeCache.txt can make LLVM compile in previous C++14 configuration. This seems to make some of the bots fail in a way that makes the patches making use of C++17 features seem at fault. See:

[PATCH] D130689: [LLVM] Update C++ standard to 17

2022-08-07 Thread Roy Jacobson via Phabricator via cfe-commits
royjacobson added a comment. In D130689#3705145 , @thieta wrote: > In D130689#3705131 , @royjacobson > wrote: > >> This seems to have been more disruptive than expected, since an existing >> CMakeCache.txt can m

[PATCH] D130689: [LLVM] Update C++ standard to 17

2022-08-09 Thread Roy Jacobson via Phabricator via cfe-commits
royjacobson added a comment. In D130689#3709834 , @thieta wrote: > In D130689#3709742 , @aaron.ballman > wrote: > >> One thing I think would be a definite improvement is to have done an RFC on >> Discourse for t

[PATCH] D131541: [Sema] Fix friend destructor declarations after D130936

2022-08-09 Thread Roy Jacobson via Phabricator via cfe-commits
royjacobson created this revision. Herald added a project: All. royjacobson requested review of this revision. Herald added a project: clang. Herald added a subscriber: cfe-commits. I accidentally broke friend destructor declarations in D130936 . Fix it by checki

[PATCH] D131541: [Sema] Fix friend destructor declarations after D130936

2022-08-10 Thread Roy Jacobson via Phabricator via cfe-commits
royjacobson updated this revision to Diff 451376. royjacobson added a comment. Don't regress on invalid (non-dependent) friend destructor declarations. Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D131541/new/ https://reviews.llvm.org/D131541 File

[PATCH] D131541: [Sema] Fix friend destructor declarations after D130936

2022-08-10 Thread Roy Jacobson via Phabricator via cfe-commits
royjacobson added a subscriber: hubert.reinterpretcast. royjacobson added a comment. Hi @hubert.reinterpretcast, thanks for the quick catch! I have posted this initial patch, but it still misses the case template struct E { friend T::S::~V(); }; Something goes wrong there that I have

[PATCH] D121646: [Concepts] Fix an assertion failure while diagnosing constrained function candidates

2022-03-14 Thread Roy Jacobson via Phabricator via cfe-commits
royjacobson created this revision. royjacobson added a reviewer: erichkeane. Herald added a project: All. royjacobson requested review of this revision. Herald added a project: clang. Herald added a subscriber: cfe-commits. See: https://github.com/llvm/llvm-project/issues/54379 I tried to see if

[PATCH] D121646: [Concepts] Fix an assertion failure while diagnosing constrained function candidates

2022-03-14 Thread Roy Jacobson via Phabricator via cfe-commits
royjacobson added a comment. In D121646#3380893 , @erichkeane wrote: > This seems acceptable to me. Though, I wonder if > `getTemplateArgumentBindingsText` should produce the leading space, that way > we could just pass the result of it directly, rathe

[PATCH] D121646: [Concepts] Fix an assertion failure while diagnosing constrained function candidates

2022-03-14 Thread Roy Jacobson via Phabricator via cfe-commits
royjacobson updated this revision to Diff 415251. Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D121646/new/ https://reviews.llvm.org/D121646 Files: clang/lib/Sema/SemaOverload.cpp clang/test/SemaTemplate/concepts.cpp Index: clang/test/SemaTemp

[PATCH] D121646: [Concepts] Fix an assertion failure while diagnosing constrained function candidates

2022-03-15 Thread Roy Jacobson via Phabricator via cfe-commits
royjacobson added a comment. In D121646#3382243 , @erichkeane wrote: > In D121646#3380902 , @royjacobson > wrote: > >> In D121646#3380893 , @erichkeane >> wrote: >> >>>

[PATCH] D121965: Add validation for number of arguments of __builtin_memcpy_inline

2022-03-17 Thread Roy Jacobson via Phabricator via cfe-commits
royjacobson created this revision. Herald added a project: All. royjacobson requested review of this revision. Herald added a project: clang. Herald added a subscriber: cfe-commits. __builtin_memcpy_inline doesn't use the usual builtin argument validation code, so it crashed when receiving wrong n

[PATCH] D121965: Add validation for number of arguments of __builtin_memcpy_inline

2022-03-18 Thread Roy Jacobson via Phabricator via cfe-commits
royjacobson added a comment. @gchatelet In D121965#3391714 , @gchatelet wrote: > Thx! Thanks, will you be able to commit this for me as "Roy Jacobson "? I don't have write access :) Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION h

[PATCH] D122083: [Concepts] Fix placeholder constraints when references are involved

2022-03-19 Thread Roy Jacobson via Phabricator via cfe-commits
royjacobson created this revision. Herald added a project: All. royjacobson requested review of this revision. Herald added a project: clang. Herald added a subscriber: cfe-commits. Placeholder types were not checked for constraint satisfaction when modified by references. GitHub issue #54443 R

[PATCH] D122083: [Concepts] Fix placeholder constraints when references are involved

2022-03-20 Thread Roy Jacobson via Phabricator via cfe-commits
royjacobson updated this revision to Diff 416803. royjacobson edited the summary of this revision. royjacobson added a comment. I noticed issue #53911 which is very similar so I fixed it as well. Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D122083/

[PATCH] D122083: [Concepts] Fix placeholder constraints when references are involved

2022-03-23 Thread Roy Jacobson via Phabricator via cfe-commits
royjacobson updated this revision to Diff 417591. royjacobson added a comment. Remove the curly brackets from one line loop. Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D122083/new/ https://reviews.llvm.org/D122083 Files: clang/lib/Sema/SemaTem

[PATCH] D122083: [Concepts] Fix placeholder constraints when references are involved

2022-03-23 Thread Roy Jacobson via Phabricator via cfe-commits
royjacobson marked an inline comment as done. royjacobson added a comment. In D122083#3402289 , @erichkeane wrote: > Can you add some tests for the OTHER forms of 'auto' as well? We have > `decltype(auto)` and `auto_type`, and I want to make sure whate

[PATCH] D122083: [Concepts] Fix placeholder constraints when references are involved

2022-03-23 Thread Roy Jacobson via Phabricator via cfe-commits
royjacobson updated this revision to Diff 417602. royjacobson added a comment. Add test for auto**& combination Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D122083/new/ https://reviews.llvm.org/D122083 Files: clang/lib/Sema/SemaTemplateDeductio

[PATCH] D122083: [Concepts] Fix placeholder constraints when references are involved

2022-03-23 Thread Roy Jacobson via Phabricator via cfe-commits
royjacobson added a comment. In D122083#3402445 , @erichkeane wrote: > 1 more test I'd like to see that doesn't seem covered (ref to ptr), Added, good idea. > AND according to @aaron.ballman we need "Release Notes" for this. Otherwise > LGTM. Do you

[PATCH] D122083: [Concepts] Fix placeholder constraints when references are involved

2022-03-23 Thread Roy Jacobson via Phabricator via cfe-commits
royjacobson updated this revision to Diff 417618. royjacobson added a comment. Added release notes. Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D122083/new/ https://reviews.llvm.org/D122083 Files: clang/docs/ReleaseNotes.rst clang/lib/Sema/Se

[PATCH] D122083: [Concepts] Fix placeholder constraints when references are involved

2022-03-23 Thread Roy Jacobson via Phabricator via cfe-commits
royjacobson updated this revision to Diff 417624. royjacobson added a comment. Rebase Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D122083/new/ https://reviews.llvm.org/D122083 Files: clang/docs/ReleaseNotes.rst clang/lib/Sema/SemaTemplateDedu

[PATCH] D122083: [Concepts] Fix placeholder constraints when references are involved

2022-03-23 Thread Roy Jacobson via Phabricator via cfe-commits
This revision was landed with ongoing or failed builds. This revision was automatically updated to reflect the committed changes. Closed by commit rG94fd00f41ebd: [Concepts] Fix placeholder constraints when references are involved (authored by royjacobson). Repository: rG LLVM Github Monorepo

[PATCH] D123182: [Concepts] Fix issue #53640

2022-04-11 Thread Roy Jacobson via Phabricator via cfe-commits
royjacobson updated this revision to Diff 422030. royjacobson added a comment. Formatting + clarify docs a bit Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D123182/new/ https://reviews.llvm.org/D123182 Files: clang/docs/ReleaseNotes.rst clang/

[PATCH] D123182: [Concepts] Fix overload resolution bug with constrained candidates

2022-04-11 Thread Roy Jacobson via Phabricator via cfe-commits
royjacobson added inline comments. Comment at: clang/lib/Sema/SemaOverload.cpp:2958 /// ArgPos will have the parameter index of the first different parameter. +/// If `Reversed` is true, exactly one of FT1 and FT2 is an overload +/// candidate with a reversed parameter order. --

[PATCH] D123182: [Concepts] Fix overload resolution bug with constrained candidates

2022-04-15 Thread Roy Jacobson via Phabricator via cfe-commits
royjacobson updated this revision to Diff 423116. royjacobson marked an inline comment as not done. royjacobson added a comment. Update for look inside FunctionParamTypesAreEqual to be index based and simpler. Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llv

[PATCH] D123182: [Concepts] Fix overload resolution bug with constrained candidates

2022-04-15 Thread Roy Jacobson via Phabricator via cfe-commits
royjacobson added inline comments. Comment at: clang/lib/Sema/SemaOverload.cpp:2967 + "parameters!"); + for (FunctionProtoType::param_type_iterator + O = OldType->param_type_begin(), erichkeane wrote: > Thanks for the clarification on 'Reversed

[PATCH] D123182: [Concepts] Fix overload resolution bug with constrained candidates

2022-04-15 Thread Roy Jacobson via Phabricator via cfe-commits
royjacobson updated this revision to Diff 423120. royjacobson added a comment. Split the 'can compare constraints' code into a static function. Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D123182/new/ https://reviews.llvm.org/D123182 Files: cla

[PATCH] D123182: [Concepts] Fix overload resolution bug with constrained candidates

2022-04-15 Thread Roy Jacobson via Phabricator via cfe-commits
royjacobson marked 2 inline comments as done. royjacobson added inline comments. Comment at: clang/lib/Sema/SemaOverload.cpp:9829 + bool CanCompareConstraints = false; + if (Cand1.Function && Cand2.Function && Cand1.Function->hasPrototype() && + Cand2.Function->hasPrototyp

[PATCH] D123182: [Concepts] Fix overload resolution bug with constrained candidates

2022-04-15 Thread Roy Jacobson via Phabricator via cfe-commits
royjacobson updated this revision to Diff 423169. royjacobson marked an inline comment as done. royjacobson added a comment. Rebase Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D123182/new/ https://reviews.llvm.org/D123182 Files: clang/docs/Rele

[PATCH] D123182: [Concepts] Fix overload resolution bug with constrained candidates

2022-04-16 Thread Roy Jacobson via Phabricator via cfe-commits
royjacobson updated this revision to Diff 423229. royjacobson added a comment. Rebase again (HEAD CI was broken) Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D123182/new/ https://reviews.llvm.org/D123182 Files: clang/docs/ReleaseNotes.rst clan

[PATCH] D123182: [Concepts] Fix overload resolution bug with constrained candidates

2022-04-16 Thread Roy Jacobson via Phabricator via cfe-commits
royjacobson added a comment. Thanks @erichkeane! I will land this on Monday if there are no further comments and the CI looks good. Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D123182/new/ https://reviews.llvm.org/D123182 ___

[PATCH] D123182: [Concepts] Fix overload resolution bug with constrained candidates

2022-04-19 Thread Roy Jacobson via Phabricator via cfe-commits
This revision was landed with ongoing or failed builds. This revision was automatically updated to reflect the committed changes. Closed by commit rG454d1df9423c: [Concepts] Fix overload resolution bug with constrained candidates (authored by royjacobson). Repository: rG LLVM Github Monorepo C

[PATCH] D123182: [Concepts] Fix overload resolution bug with constrained candidates

2022-04-19 Thread Roy Jacobson via Phabricator via cfe-commits
royjacobson added a subscriber: Mordante. royjacobson added a comment. So, it seems like this broke one of `basic_arg_format`'s private constructors.. Sorry for that. //format_arg.h:167 explicit basic_format_arg(_Tp __v) noexcept requires(same_as<_Tp, char_type> || (

[PATCH] D123182: [Concepts] Fix overload resolution bug with constrained candidates

2022-04-23 Thread Roy Jacobson via Phabricator via cfe-commits
royjacobson updated this revision to Diff 424747. royjacobson added a comment. Rebase after fix. Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D123182/new/ https://reviews.llvm.org/D123182 Files: clang/docs/ReleaseNotes.rst clang/include/clang/

[PATCH] D123182: [Concepts] Fix overload resolution bug with constrained candidates

2022-04-23 Thread Roy Jacobson via Phabricator via cfe-commits
This revision was landed with ongoing or failed builds. This revision was automatically updated to reflect the committed changes. Closed by commit rG807e418413a0: [Concepts] Fix overload resolution bug with constrained candidates (authored by royjacobson). Repository: rG LLVM Github Monorepo C

[PATCH] D129170: [Sema] Add deprecation warnings for some compiler provided __has_* type traits

2022-07-11 Thread Roy Jacobson via Phabricator via cfe-commits
royjacobson updated this revision to Diff 443742. royjacobson added a comment. Warn on <=C++03 as well, warn on __has_trivial_destructor. Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D129170/new/ https://reviews.llvm.org/D129170 Files: clang/doc

[PATCH] D129170: [Sema] Add deprecation warnings for some compiler provided __has_* type traits

2022-07-11 Thread Roy Jacobson via Phabricator via cfe-commits
royjacobson added inline comments. Comment at: clang/lib/Sema/SemaExprCXX.cpp:5400-5401 +SourceLocation KWLoc) { + if (!S.getLangOpts().CPlusPlus11) +return; + aaron.ballman wrote: > royjacobson wrote: > > aaron.ba

[PATCH] D129170: [Sema] Add deprecation warnings for some compiler provided __has_* type traits

2022-07-12 Thread Roy Jacobson via Phabricator via cfe-commits
This revision was landed with ongoing or failed builds. This revision was automatically updated to reflect the committed changes. Closed by commit rG0b89d1d59f82: [Sema] Add deprecation warnings for some compiler provided __has_* type traits (authored by royjacobson). Repository: rG LLVM Github

[PATCH] D129583: [DOC] Add DR1734 and DR1496 Clang's cxx_dr_status as not implemented

2022-07-12 Thread Roy Jacobson via Phabricator via cfe-commits
royjacobson created this revision. Herald added a project: All. royjacobson requested review of this revision. Herald added a project: clang. Herald added a subscriber: cfe-commits. Those two DRs about the (copy) triviality of types with deleted special member functions are not implemented in MSV

[PATCH] D129583: [DOC] Add DR1734 and DR1496 Clang's cxx_dr_status as not implemented

2022-07-13 Thread Roy Jacobson via Phabricator via cfe-commits
royjacobson updated this revision to Diff 22. royjacobson added a comment. Update comments Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D129583/new/ https://reviews.llvm.org/D129583 Files: clang/test/CXX/drs/dr14xx.cpp clang/test/CXX/drs/d

[PATCH] D129583: [DOC] Add DR1734 and DR1496 Clang's cxx_dr_status as not implemented

2022-07-13 Thread Roy Jacobson via Phabricator via cfe-commits
This revision was landed with ongoing or failed builds. This revision was automatically updated to reflect the committed changes. Closed by commit rG202b327f5d29: [DOC] Add DR1734 and DR1496 Clang's cxx_dr_status as not implemented (authored by royjacobson). Repository: rG LLVM Github Monorepo

[PATCH] D129583: [DOC] Add DR1734 and DR1496 Clang's cxx_dr_status as not implemented

2022-07-13 Thread Roy Jacobson via Phabricator via cfe-commits
royjacobson added a comment. Thanks for the suggestions and for the quick review! @aaron.ballman Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D129583/new/ https://reviews.llvm.org/D129583 ___ cfe-commits

[PATCH] D129170: [Sema] Add deprecation warnings for some compiler provided __has_* type traits

2022-07-13 Thread Roy Jacobson via Phabricator via cfe-commits
royjacobson added a comment. In D129170#3650618 , @glandium wrote: > From the commit message: > >> This patch adds deprecation warnings for the usage of those builtins, except >> for __has_trivial_destructor which doesn't have a GCC alternative. > > The

[PATCH] D128619: [Clang] Implement P0848 (Conditionally Trivial Special Member Functions)

2022-07-14 Thread Roy Jacobson via Phabricator via cfe-commits
royjacobson created this revision. Herald added a project: All. royjacobson updated this revision to Diff 444173. royjacobson added a comment. royjacobson updated this revision to Diff 19. royjacobson retitled this revision from "[WIP][Clang] Implement P0848 (Conditionally Trivial Special Memb

[PATCH] D128619: [Clang] Implement P0848 (Conditionally Trivial Special Member Functions)

2022-07-15 Thread Roy Jacobson via Phabricator via cfe-commits
royjacobson updated this revision to Diff 445044. royjacobson edited the summary of this revision. royjacobson added a comment. Address Corentin's feedback. Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D128619/new/ https://reviews.llvm.org/D128619

[PATCH] D128619: [Clang] Implement P0848 (Conditionally Trivial Special Member Functions)

2022-07-15 Thread Roy Jacobson via Phabricator via cfe-commits
royjacobson marked 4 inline comments as done and an inline comment as not done. royjacobson added inline comments. Comment at: clang/lib/Sema/SemaDecl.cpp:17960-17961 +} +if (AnotherMethodIsMoreConstrained) + break; + } cor3ntin wrot

[PATCH] D128619: [Clang] Implement P0848 (Conditionally Trivial Special Member Functions)

2022-07-15 Thread Roy Jacobson via Phabricator via cfe-commits
royjacobson marked an inline comment as done. royjacobson added inline comments. Comment at: clang/test/AST/conditionally-trivial-smfs.cpp:39 + +template struct DefaultConstructorCheck<2>; +// CHECK: "kind": "ClassTemplateSpecializationDecl", BRevzin

[PATCH] D128619: [Clang] Implement P0848 (Conditionally Trivial Special Member Functions)

2022-07-17 Thread Roy Jacobson via Phabricator via cfe-commits
royjacobson updated this revision to Diff 445350. royjacobson marked an inline comment as not done. royjacobson added a comment. Add a test case with more subsumption Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D128619/new/ https://reviews.llvm.or

[PATCH] D128750: [c++20] Implement P2113R0: Changes to the Partial Ordering of Constrained Functions

2022-07-19 Thread Roy Jacobson via Phabricator via cfe-commits
royjacobson added a comment. In D128750#3661576 , @ychen wrote: > ... > There is *no* way to reorder the template parameters list again (to get two > or more reordering) and the resulted template still works, because of the > *positionally correspond* r

[PATCH] D128619: [Clang] Implement P0848 (Conditionally Trivial Special Member Functions)

2022-07-20 Thread Roy Jacobson via Phabricator via cfe-commits
royjacobson added inline comments. Comment at: clang/lib/Sema/SemaDecl.cpp:17870 +/// parameter type and the same cv-qualifiers and ref-qualifier, if any. +bool AreSpecialMemberFunctionsSameKind(CXXMethodDecl *M1, CXXMethodDecl *M2, + Sema::CXXSpecialMember

[PATCH] D128619: [Clang] Implement P0848 (Conditionally Trivial Special Member Functions)

2022-07-20 Thread Roy Jacobson via Phabricator via cfe-commits
royjacobson updated this revision to Diff 446172. royjacobson added a comment. Fixed the tests, fixed the type comparison checks. Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D128619/new/ https://reviews.llvm.org/D128619 Files: clang/docs/Releas

[PATCH] D128619: [Clang] Implement P0848 (Conditionally Trivial Special Member Functions)

2022-07-20 Thread Roy Jacobson via Phabricator via cfe-commits
royjacobson added inline comments. Comment at: clang/lib/Sema/SemaDecl.cpp:17899 + ConstraintSatisfaction Satisfaction; + if (S.CheckFunctionConstraints(Method, Satisfaction)) +SatisfactionStatus.push_back(false); erichkeane wrote: > cor3ntin wr

[PATCH] D128619: [Clang] Implement P0848 (Conditionally Trivial Special Member Functions)

2022-07-20 Thread Roy Jacobson via Phabricator via cfe-commits
royjacobson added inline comments. Comment at: clang/lib/Sema/SemaDecl.cpp:17899 + ConstraintSatisfaction Satisfaction; + if (S.CheckFunctionConstraints(Method, Satisfaction)) +SatisfactionStatus.push_back(false); erichkeane wrote: > royjacobson

[PATCH] D128619: [Clang] Implement P0848 (Conditionally Trivial Special Member Functions)

2022-07-20 Thread Roy Jacobson via Phabricator via cfe-commits
royjacobson updated this revision to Diff 446264. royjacobson added a comment. Add a test for the CRTP constraints timings Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D128619/new/ https://reviews.llvm.org/D128619 Files: clang/docs/ReleaseNotes.

[PATCH] D128619: [Clang] Implement P0848 (Conditionally Trivial Special Member Functions)

2022-07-20 Thread Roy Jacobson via Phabricator via cfe-commits
royjacobson added inline comments. Comment at: clang/lib/Sema/SemaDecl.cpp:17899 + ConstraintSatisfaction Satisfaction; + if (S.CheckFunctionConstraints(Method, Satisfaction)) +SatisfactionStatus.push_back(false); cor3ntin wrote: > erichkeane wr

[PATCH] D128619: [Clang] Implement P0848 (Conditionally Trivial Special Member Functions)

2022-07-22 Thread Roy Jacobson via Phabricator via cfe-commits
royjacobson added inline comments. Comment at: clang/test/SemaCXX/constrained-special-member-functions.cpp:103 +// FIXME: DR1734. +static_assert(__is_trivially_copyable(CopyAssignmentChecker<1>)); +static_assert(!__is_trivially_copyable(CopyAssignmentChecker<2>)); ---

[PATCH] D128619: [Clang] Implement P0848 (Conditionally Trivial Special Member Functions)

2022-07-23 Thread Roy Jacobson via Phabricator via cfe-commits
royjacobson added inline comments. Comment at: clang/lib/Sema/SemaDecl.cpp:17875 +return true; + if (!Context.hasSameType(M1->getParamDecl(0)->getType(), + M2->getParamDecl(0)->getType())) shafik wrote: > What happens if we have fur

[PATCH] D128619: [Clang] Implement P0848 (Conditionally Trivial Special Member Functions)

2022-07-25 Thread Roy Jacobson via Phabricator via cfe-commits
royjacobson updated this revision to Diff 447425. royjacobson marked an inline comment as done. royjacobson added a comment. Rebase on main and slightly update docs. Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D128619/new/ https://reviews.llvm.org

[PATCH] D128619: [Clang] Implement P0848 (Conditionally Trivial Special Member Functions)

2022-07-25 Thread Roy Jacobson via Phabricator via cfe-commits
royjacobson added a comment. @erichkeane @cor3ntin If you have time for review right now, I think it's reasonably ready and I would still like to merge it this week so it can land in Clang15. Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D128619/ne

[PATCH] D125711: [concepts] Implement dcl.decl.general p4: No constraints on non-template funcs

2022-05-16 Thread Roy Jacobson via Phabricator via cfe-commits
royjacobson accepted this revision. royjacobson added a comment. This revision is now accepted and ready to land. Code and added/modified tests LGTM! Do you think we should add a release note, given that it could break existing code? Its seems a bit unlikely, but the amount of broken tests have

[PATCH] D126160: [Concepts] Add an error for unsupported P0848 (destructor overloading) code

2022-05-22 Thread Roy Jacobson via Phabricator via cfe-commits
royjacobson created this revision. Herald added a project: All. royjacobson requested review of this revision. Herald added a project: clang. Herald added a subscriber: cfe-commits. We have received numeroud bug reports over P0848 not being implemented for destructors. We currently allow multiple

[PATCH] D126160: [Concepts] Add an error for unsupported P0848 (destructor overloading) code

2022-05-22 Thread Roy Jacobson via Phabricator via cfe-commits
royjacobson updated this revision to Diff 431229. royjacobson added a comment. A working version. Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D126160/new/ https://reviews.llvm.org/D126160 Files: clang/include/clang/Basic/DiagnosticASTKinds.td

[PATCH] D126160: [Concepts] Add an error for unsupported P0848 (destructor overloading) code

2022-05-22 Thread Roy Jacobson via Phabricator via cfe-commits
royjacobson planned changes to this revision. royjacobson added a comment. I've thought about this a bit more and I want to move the diagnostic into SemaTemplateInstantiateDecl or somewhere close. It makes more sense because it's closer to where P0848 needs to be implemented and it will spam les

[PATCH] D126160: [Concepts] Add an error for unsupported P0848 (destructor overloading) code

2022-05-22 Thread Roy Jacobson via Phabricator via cfe-commits
royjacobson updated this revision to Diff 431251. royjacobson added a comment. Move diagnostic into Sema, make it fire once for every class template definitions. Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D126160/new/ https://reviews.llvm.org/D1

[PATCH] D126160: [Concepts] Add an error for unsupported P0848 (destructor overloading) code

2022-05-22 Thread Roy Jacobson via Phabricator via cfe-commits
royjacobson updated this revision to Diff 431263. royjacobson added a comment. Fix conventions Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D126160/new/ https://reviews.llvm.org/D126160 Files: clang/include/clang/Basic/DiagnosticSemaKinds.td c

[PATCH] D126160: [Concepts] Add an error for unsupported P0848 (destructor overloading) code

2022-05-22 Thread Roy Jacobson via Phabricator via cfe-commits
royjacobson abandoned this revision. royjacobson added a comment. I continued hacking a bit at this and I think I got a working approach to implementing P0848 (down to 6 failing tests, will probably post at least a draft tomorrow). So I'll close for now. Maybe it's still useful for backporting

[PATCH] D126194: [Concepts] Implement overload resolution for destructors (P0848)

2022-05-23 Thread Roy Jacobson via Phabricator via cfe-commits
royjacobson created this revision. Herald added a project: All. royjacobson requested review of this revision. Herald added a project: clang. Herald added a subscriber: cfe-commits. This patch implements a necessary part of P0848, the overload resolution for destructors. It is now possible to ove

[PATCH] D126194: [Concepts] Implement overload resolution for destructors (P0848)

2022-05-23 Thread Roy Jacobson via Phabricator via cfe-commits
royjacobson updated this revision to Diff 431333. royjacobson added a comment. Fix typo Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D126194/new/ https://reviews.llvm.org/D126194 Files: clang/docs/ReleaseNotes.rst clang/include/clang/Basic/Dia

[PATCH] D126194: [Concepts] Implement overload resolution for destructors (P0848)

2022-05-23 Thread Roy Jacobson via Phabricator via cfe-commits
royjacobson added a comment. In D126194#3531280 , @cor3ntin wrote: > In D126194#3531267 , @erichkeane > wrote: > >> How much of P0848 is missing after this? If nothing/not much, should we >> update cxx_status.h

[PATCH] D126194: [Concepts] Implement overload resolution for destructors (P0848)

2022-05-23 Thread Roy Jacobson via Phabricator via cfe-commits
royjacobson added inline comments. Comment at: clang/lib/Sema/SemaTemplateInstantiate.cpp:2330 + /// To achieve that, we remove all non-selected destructors from the AST, + /// which is a bit unusual. We can't let those declarations be in AST and rely + /// on LookupSpecialMe

[PATCH] D126194: [Concepts] Implement overload resolution for destructors (P0848)

2022-05-23 Thread Roy Jacobson via Phabricator via cfe-commits
royjacobson updated this revision to Diff 431589. royjacobson added a comment. Update the approach to use an AST property, and enable this for all language variants (not just CPP20). There's still one test failing because OpenCL have got their own destructor thing going, I'll try to see what I

  1   2   3   4   >