aganea marked an inline comment as done. aganea added inline comments.
================ Comment at: llvm/include/llvm/ADT/SmallVector.h:905 + + const SmallVector &operator=(const std::vector<T> &Vec) { + this->assign(Vec.begin(), Vec.end()); ---------------- dblaikie wrote: > aganea wrote: > > rnk wrote: > > > +@dblaikie, who knows more about STL container details than I do. > > This assignment was added to support converting `FrontendOptions`'s members > > from `std::vector` -> `SmallVector` as suggested by @dexonsmith. As stated > > above, this was to support code such as: > > ``` > > Opts.ASTMergeFiles = Args.getAllArgValues(OPT_ast_merge); > > ``` > > Which otherwise wouldn't work, as `getAllArgValues()` returns a > > `std::vector`. > I agree with @dexonsmith's suggestion/agreement with @rnk's suggestion to use > SmallVector - but to implement the suggestion I'd rather change this: > > Opts.ASTMergeFiles = Args.getAllArgValues(OPT_ast_merge); > > to this: > > const cl::list &ASTMergeFiles = Args.getAllArgValues(OPT_ast_merge); > Opts.ASTMergeFiles.assign(ASTMergeFiles.begin(), ASTMergeFiles.end()); > > As @rnk was mentioning. (alternatively, I suppose, since cl::list already has > implicit conversion to std::vector, perhaps adding an implicit conversion to > SmallVector /there/ would be consistent/not too bad/better than adding > std::vector conversion to SmallVector to SmallVector itself) Can we do that in a subsequent patch? This current patch as it stand fixes the issue mentioned in the summary. CHANGES SINCE LAST ACTION https://reviews.llvm.org/D69959/new/ https://reviews.llvm.org/D69959 _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits