{"action":"created","issue":{"url":"https://api.github.com/repos/Ericsson/clang/issues/381","repository_url":"https://api.github.com/repos/Ericsson/clang","labels_url":"https://api.github.com/repos/Ericsson/clang/issues/381/labels{/name}","comments_url":"https://api.github.com/repos/Ericsson/clang/issues/381/comments","events_url":"https://api.github.com/repos/Ericsson/clang/issues/381/events","html_url":"https://github.com/Ericsson/clang/pull/381","id":320223634,"number":381,"title":"improved structural equivalence checking","user":{"login":"balazske","id":35729694,"avatar_url":"https://avatars0.githubusercontent.com/u/35729694?v=4","gravatar_id":"","url":"https://api.github.com/users/balazske","html_url":"https://github.com/balazske","followers_url":"https://api.github.com/users/balazske/followers","following_url":"https://api.github.com/users/balazske/following{/other_user}","gists_url":"https://api.github.com/users/balazske/gists{/gist_id}","starred_url":"https://api.github.com/users/balazske/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/balazske/subscriptions","organizations_url":"https://api.github.com/users/balazske/orgs","repos_url":"https://api.github.com/users/balazske/repos","events_url":"https://api.github.com/users/balazske/events{/privacy}","received_events_url":"https://api.github.com/users/balazske/received_events","type":"User","site_admin":false},"labels":[{"id":814013038,"url":"https://api.github.com/repos/Ericsson/clang/labels/ASTImporter","name":"ASTImporter","color":"f0f477","default":false}],"state":"open","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":3,"created_at":"2018-05-04T10:22:47Z","updated_at":"2018-05-08T11:38:46Z","closed_at":null,"author_association":"COLLABORATOR","pull_request":{"url":"https://api.github.com/repos/Ericsson/clang/pulls/381","html_url":"https://github.com/Ericsson/clang/pull/381","diff_url":"https://github.com/Ericsson/clang/pull/381.diff","patch_url":"https://github.com/Ericsson/clang/pull/381.patch"},"body":"Added check for `CXXMethodDecl` (not complete: some template cases missing?).\r\nCleaned up check of FunctionTemplateDecl.\r\nAdded unit tests.\r\n\r\nDiagnostic messages not added."},"comment":{"url":"https://api.github.com/repos/Ericsson/clang/issues/comments/387374448","html_url":"https://github.com/Ericsson/clang/pull/381#issuecomment-387374448","issue_url":"https://api.github.com/repos/Ericsson/clang/issues/381","id":387374448,"user":{"login":"martong","id":5887427,"avatar_url":"https://avatars0.githubusercontent.com/u/5887427?v=4","gravatar_id":"","url":"https://api.github.com/users/martong","html_url":"https://github.com/martong","followers_url":"https://api.github.com/users/martong/followers","following_url":"https://api.github.com/users/martong/following{/other_user}","gists_url":"https://api.github.com/users/martong/gists{/gist_id}","starred_url":"https://api.github.com/users/martong/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/martong/subscriptions","organizations_url":"https://api.github.com/users/martong/orgs","repos_url":"https://api.github.com/users/martong/repos","events_url":"https://api.github.com/users/martong/events{/privacy}","received_events_url":"https://api.github.com/users/martong/received_events","type":"User","site_admin":false},"created_at":"2018-05-08T11:38:46Z","updated_at":"2018-05-08T11:38:46Z","author_association":"NONE","body":"Balazs, I think we should cut this patch into two:\r\n\r\n1) All those improvements which are connected to the equivalence check of free functions and member functions (noexcept, && qualifier, const qualifier, etc). This includes the new function\r\n```\r\n+static bool IsStructurallyEquivalent(StructuralEquivalenceContext &Context,\r\n+                             CXXMethodDecl *Method1, CXXMethodDecl *Method2) {\r\n```\r\nand it's tests too.\r\n\r\n2) Checking the member functions as well in a RecordDecl.\r\n\r\nI think 1) is an immediate improvement and @Xazax-hun would accept that as well. Just think about out-of-class definition of member functions ... it is definitely an improvement that we can distinguish a cons qualified member function from a non-const one. \r\n\r\n2) might cause some degradation since our general structural eq checking is still buggy (and also we create sometimes a faulty AST with respect to classtemplates and specializations). Thus, perhaps 2) should be merged after we are done with #384 / 1)"}}
{"actor":{"display_login":"martong"}}