Quuxplusone added a comment.

@rtrieu (and perhaps @rsmith) ping?

The action items I need help with are:

- Review and land the refactoring patch https://reviews.llvm.org/D43898 (I 
don't have commit privs)
- Ideally, test compiling a bunch of (e.g. Google) code with 
https://reviews.llvm.org/D43322, see if there are any rough edges
- Decide whether `-Wmove` should imply `-Wreturn-std-move`
- Review and land the new-diagnostic patch https://reviews.llvm.org/D43322
- Ideally, some discussion of whether I should write a paper for San Diego 
proposing that C++ *should* move rather than copy in these cases, and whether 
that possibility should change anything about this patch

Speaking of rough edges, I did find that in my employer's codebase the 
far-and-away-most-common trigger is `return my_shared_ptr_to_derived_class;` in 
a function that is declared to return `shared_ptr<base_class>`. This does 
indeed generate an extra atomic increment/decrement compared to the optimal 
code, but I could imagine someone considering that a "false positive."
Other than that one questionable scenario, everything else I've found with it 
so far has been a true positive. There are no positives (either true or false) 
in LLVM's codebase.


Repository:
  rC Clang

https://reviews.llvm.org/D43322



_______________________________________________
cfe-commits mailing list
cfe-commits@lists.llvm.org
http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

Reply via email to