{"push_id":2367810468,"size":2,"distinct_size":2,"ref":"refs/heads/master","head":"e845f691846783e8e30d3131c8f8a08311c406e8","before":"b7f026ae77d2cb0cd10834b61aac0037cfcff2bd","commits":[{"sha":"f6b7996bf623151fc1a9dfbcf659a609b178692f","author":{"name":"George Burgess IV","email":"4d4c940392f73e96f44e4aeb7e9ed8642baafaf1@gmail.com"},"message":"Remove redundant casts. NFC\n\nSo I wrote a clang-tidy check to lint out redundant `isa`, `cast`, and\n`dyn_cast`s for fun. This is a portion of what it found for clang; I\nplan to do similar cleanups in LLVM and other subprojects when I find\ntime.\n\nBecause of the volume of changes, I explicitly avoided making any change\nthat wasn't highly local and obviously correct to me (e.g. we still have\na number of foo(cast<Bar>(baz)) that I didn't touch, since overloading\nis a thing and the cast<Bar> did actually change the type -- just up the\nclass hierarchy).\n\nI also tried to leave the types we were cast<>ing to somewhere nearby,\nin cases where it wasn't locally obvious what we were dealing with\nbefore.\n\n\ngit-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@326416 91177308-0d34-0410-b5e6-96231b3b80d8","distinct":true,"url":"https://api.github.com/repos/kraj/clang/commits/f6b7996bf623151fc1a9dfbcf659a609b178692f"},{"sha":"e845f691846783e8e30d3131c8f8a08311c406e8","author":{"name":"Serge Pavlov","email":"03e372db0a0e21b538d42c0595437bf5d285642a@gmail.com"},"message":"Function definition may have uninstantiated body\n\nCurrent implementation of `FunctionDecl::isDefined` does not take into\naccount redeclarations that do not have bodies, but the bodies can be\ninstantiated from corresponding templated definition. This behavior does\nnot allow to detect function redefinition in the cases where friend\nfunctions is defined in class templates. For instance, the code:\n```\n    template<typename T> struct X { friend void f() {} };\n    X<int> xi;\n    void f() {}\n```\ncompiles successfully but must fail due to redefinition of `f`. The\ndeclaration of the friend `f` is created when the containing template\n`X` is instantiated, but it does not have a body as per 14.5.4p4\nbecause `f` is not odr-used.\n\nWith this change the function `Sema::CheckForFunctionRedefinition`\nconsiders functions with uninstantiated bodies as definitions.\n\nDifferential Revision: https://reviews.llvm.org/D30170\n\n\ngit-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@326419 91177308-0d34-0410-b5e6-96231b3b80d8","distinct":true,"url":"https://api.github.com/repos/kraj/clang/commits/e845f691846783e8e30d3131c8f8a08311c406e8"}]}
{"actor":{"display_login":"kraj"}}