omtcyfz added inline comments.

================
Comment at: clang-tidy/readability/ElseAfterReturnCheck.cpp:45
@@ +44,3 @@
+  for (const auto &BindingName :
+       {"return", "continue", "break", "goto", "throw"}) {
+    if (Result.Nodes.getNodeAs<Stmt>(BindingName)) {
----------------
aaron.ballman wrote:
> omtcyfz wrote:
> > alexfh wrote:
> > > This won't work in MSVC2013, I think. Just add a `const char *Labels[] = 
> > > {"return", ...` (add more consts, constexprs or statics, if you like ;)
> > Hm, I'm confused. What exactly wouldn't work in MSVC?
> This one *will* work in MSVC 2013 (it was a different initializer list that 
> @alexfh was thinking of, perhaps, where the deduced type of the list was a 
> bit more complex). I just tried it out and the above construct compiles fine 
> with MSVC.
> 
> That being said, `const auto &` is the wrong type here, it should be `const 
> auto *`.
Hm, I'm confused. Why should it be a pointer?

So, when I have something like:
```
std::vector<unsigned> vec = {1, 2, 3};
for (const auto &x : vec) ...
```

This is right, I guess. Why is that different with init list?


https://reviews.llvm.org/D23265



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

Reply via email to