)]}' { "commit": "35627038123b5b391a20e9f4d44a85c7a325027b", "tree": "cba3d96f5eed35283a6c976c59a02289cf9728ef", "parents": [ "a36a14b70f18b156cea8552fd4b138487340ba76" ], "author": { "name": "Saar Raz", "email": "saar@raz.email", "time": "Tue Mar 17 01:43:29 2020 +0200" }, "committer": { "name": "Hans Wennborg", "email": "hans@chromium.org", "time": "Thu Mar 19 10:19:04 2020 +0100" }, "message": "[Concepts] Fix incorrect control flow when TryAnnotateTypeConstraint annotates an invalid template-id\n\nTryAnnotateTypeConstraint could annotate a template-id which doesn\u0027t end up being a type-constraint,\nin which case control flow would incorrectly flow into ParseImplicitInt.\n\nReenter the loop in this case.\nEnable relevant tests for C++20. This required disabling typo-correction during TryAnnotateTypeConstraint\nand changing a test case which is broken due to a separate bug (will be reported and handled separately).\n\n(cherry picked from commit 19fccc52ff2c1da1f93d9317c34769bd9bab8ac8)\n", "tree_diff": [ { "type": "modify", "old_id": "033f7af6f2f3bbc6df172f3e35481cf2cb3e5e91", "old_mode": 33188, "old_path": "clang/include/clang/Sema/Sema.h", "new_id": "842e496022749e74a5ee2d60f8b41f9095bf62cb", "new_mode": 33188, "new_path": "clang/include/clang/Sema/Sema.h" }, { "type": "modify", "old_id": "cdc3506d5c6807f3857433e312315aac6247a469", "old_mode": 33188, "old_path": "clang/lib/Parse/ParseDecl.cpp", "new_id": "6353e14bc41a9d134a823fccd533de850ed729d8", "new_mode": 33188, "new_path": "clang/lib/Parse/ParseDecl.cpp" }, { "type": "modify", "old_id": "3bc4e3596f12016bfc4c4a8ff925226c4e2fe6f0", "old_mode": 33188, "old_path": "clang/lib/Parse/ParseTemplate.cpp", "new_id": "609640576e9e02e9a5cd235e7161112e9b202e0d", "new_mode": 33188, "new_path": "clang/lib/Parse/ParseTemplate.cpp" }, { "type": "modify", "old_id": "4f577a3cf748e8ab46e11df738223bf89143eb4e", "old_mode": 33261, "old_path": "clang/lib/Sema/SemaTemplate.cpp", "new_id": "c38c724ed9b069ba3581e15eea80a75ca45651a3", "new_mode": 33261, "new_path": "clang/lib/Sema/SemaTemplate.cpp" }, { "type": "modify", "old_id": "920d92380e69ebf16257ac452a8b2dd3f85af6fe", "old_mode": 33188, "old_path": "clang/test/SemaCXX/invalid-member-expr.cpp", "new_id": "e0b40794a0ce795958e76ff7f2c894ac490d1ec1", "new_mode": 33188, "new_path": "clang/test/SemaCXX/invalid-member-expr.cpp" }, { "type": "modify", "old_id": "33dea4d36b3e5f33fc581aacf6e072e32baaa685", "old_mode": 33188, "old_path": "clang/test/SemaCXX/typo-correction.cpp", "new_id": "92a145074e728ce2c90df86552de5f2b35f34992", "new_mode": 33188, "new_path": "clang/test/SemaCXX/typo-correction.cpp" }, { "type": "modify", "old_id": "a41248ee1b8ef4188ee4adf53b7d18777fcb422d", "old_mode": 33188, "old_path": "clang/test/SemaTemplate/ms-lookup-template-base-classes.cpp", "new_id": "cb497176ff0eeb87c23bf363125569b88a0bb359", "new_mode": 33188, "new_path": "clang/test/SemaTemplate/ms-lookup-template-base-classes.cpp" } ] }