Patch for Vector Literal source ranges (Bug 15095)
Richard Smith
richard at metafoo.co.uk
Wed Jan 30 15:26:15 PST 2013
On Wed, Jan 30, 2013 at 10:57 AM, John Stratton
<john at multicorewareinc.com> wrote:
> Hello. I've attached a small patch that fixes the 15095 bug I filed a
> couple of days ago, and makes sure that the CompoundLiteral and child
> AST nodes created from a vector literal have correct source-location
> information. Does this make sense to the veteran Clang developers?
It's a bit weird that we're building a CompoundLiteralExpr here for a
construct which used parentheses not braces, but given that's our
representation, it seems appropriate to pretend the braces are where
the parens of the initializer were.
+ if (isVectorLiteral) {
+ SourceLocation litLParenLoc = (PE ? PE->getLParen() : PLE->getLParenLoc());
+ SourceLocation litRParenLoc = (PE ? PE->getRParen() : PLE->getRParenLoc());
Please compute these locations in BuildVectorLiteral instead (within
its 'if (ParenListExpr *PE = dyn_cast<ParenListExpr>(E))' code).
Also, variable names should start with an uppercase letter (this code
breaks the convention in a few places, but new code should conform).
More information about the cfe-commits
mailing list