jroelofs added a comment. In https://reviews.llvm.org/D21134#509522, @danielmarjamaki wrote:
> In https://reviews.llvm.org/D21134#508524, @jroelofs wrote: > > > I think the replacement is wrong for something like: > > > > int *arr; int offs1, offs2; > > offs1[arr + offs2] = 42; > > > > > > which I think would give: > > > > int *arr; int offs1, offs2; > > arr + offs2[offs1] = 42; > > > > > > If the precedence of the "indexing" argument is less than that of the > > subscript operator, then you need to insert parens: > > > > int *arr; int offs1, offs2; > > (arr + offs2)[offs1] = 42; > > > > > I don't think so. The matcher says: > > hasRHS(ignoringParenImpCasts( > anyOf(stringLiteral(), declRefExpr(hasType(pointsTo(qualType()))), > memberExpr(hasType(pointsTo(qualType())) > > > I think it's hard to know what the replaced code should be. In some cases it > might be better with: > > arr[offs1 + offs2] = 42; > Oh, yeah, you're right. https://reviews.llvm.org/D21134 _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits