aaron.ballman added inline comments.

================
Comment at: test/clang-tidy/readability-static-accessed-through-instance.cpp:34
+  // CHECK-MESSAGES: :[[@LINE-1]]:3: warning: static member accessed through 
instance  [readability-static-accessed-through-instance]
+  // CHECK-FIXES: {{^}}  C::x;{{$}}
+}
----------------
baloghadamsoftware wrote:
> xazax.hun wrote:
> > baloghadamsoftware wrote:
> > > aaron.ballman wrote:
> > > > This fix-it worries me because it changes the semantics of the code. 
> > > > The function `f()` is no longer called, and so this isn't a valid 
> > > > source transformation.
> > > Maybe the correct fix would be here f(1, 2, 3, 4); C::x;
> > Maybe for now we should just skip this cases. Expr::HasSideEffects might be 
> > a  good candidate to filter these cases. 
> I think including the expression with side effect before the member access 
> (as I suggested) is not more complicated than skipping these cases.
Please ensure you handle the more complex cases then, such as:
```
struct S {
  static int X;
};

void g(int &);
S h();

void f(S s) {
  g(h().X);
  if ([s]() { return s; }().X == 15)
    ;
}
```


Repository:
  rL LLVM

https://reviews.llvm.org/D35937



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

Reply via email to