zturner added a comment.

Looks good with one more suggested fix.



================
Comment at: include/clang/Driver/Job.h:129
+  /// the given vector is to be copied in as opposed to moved. 
+  void setEnvironment(const std::vector<const char *> &NewEnvironment);
+
----------------
Since it's just a vector of pointers, I don't think this is a very valuable 
optimization, especially at the risk of complicating the API (I had to think 
again to recall how overload resolution works with rvalue references and const 
char*.  

Personally I would just have one function, `void setEnvironment(ArrayRef<const 
char*> NewEnvironment);`  (for example, this allows someone to pass in a 
`SmallVector` as well), and not worry about the optimization.  More flexibility 
in the API is preferable to optimizations unless this is a specific bottleneck, 
which seems unlikely.


https://reviews.llvm.org/D30991



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

Reply via email to