CarlosAlbertoEnciso added a comment. In https://reviews.llvm.org/D46190#1083502, @rsmith wrote:
> Let's look at your original example again (I've cleaned it up and extended it > a bit, but hopefully this matches your intent): > > namespace nsp { > int var1, var2; > } > > using nsp::var1; > using nsp::var2; > > void bar() { > nsp::var1 = 1; > var2 = 1; > } > > > Now, what should happen here is: > > - The use of `nsp::var1` in `bar` marks `nsp::var1` as referenced (because it > was named), and marks `nsp::var1` as used (because it was odr-used by the > assignment). The `UsingShadowDecl` for `::var1` is not marked as referenced > (nor used), so we emit an unused-using-declaration warning. > - The use of `var2` in `bar` marks `::var2` as referenced (because it was > named), and marks `nsp::var2` as used (because it was odr-used by the > assignment). The `UsingShadowDecl` for `::var2` is marked as referenced, so > we do not warn on it. Your extended example matches my original intent. That is a good starting point. Now I am clear on the expected behavior. Thanks very much for your comments. Repository: rC Clang https://reviews.llvm.org/D46190 _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits