forked from OSchip/llvm-project
Add correct parenthesis range to CXXConstructExprs inside
CXXFunctionalCastExprs. llvm-svn: 160252
This commit is contained in:
parent
f5fe556c70
commit
3e1a9cf3b8
|
@ -1001,6 +1001,7 @@ public:
|
|||
|
||||
SourceRange getSourceRange() const LLVM_READONLY;
|
||||
SourceRange getParenRange() const { return ParenRange; }
|
||||
void setParenRange(SourceRange Range) { ParenRange = Range; }
|
||||
|
||||
static bool classof(const Stmt *T) {
|
||||
return T->getStmtClass() == CXXConstructExprClass ||
|
||||
|
|
|
@ -2102,6 +2102,9 @@ ExprResult Sema::BuildCXXFunctionalCastExpr(TypeSourceInfo *CastTypeInfo,
|
|||
Op.CheckCXXCStyleCast(/*FunctionalStyle=*/true, /*ListInit=*/false);
|
||||
if (Op.SrcExpr.isInvalid())
|
||||
return ExprError();
|
||||
|
||||
if (CXXConstructExpr *ConstructExpr = dyn_cast<CXXConstructExpr>(Op.SrcExpr.get()))
|
||||
ConstructExpr->setParenRange(SourceRange(LPLoc, RPLoc));
|
||||
|
||||
return Op.complete(CXXFunctionalCastExpr::Create(Context, Op.ResultType,
|
||||
Op.ValueKind, CastTypeInfo, Op.DestRange.getBegin(),
|
||||
|
|
|
@ -961,7 +961,7 @@ AttributeList::Kind AttributeList::getKind(const IdentifierInfo * Name) {
|
|||
// CHECK-tokens: Punctuation: ">" [105:51 - 105:52] CallExpr=StringSwitch:87:12
|
||||
// CHECK-tokens: Punctuation: "(" [105:53 - 105:54] CallExpr=StringSwitch:87:12
|
||||
// CHECK-tokens: Identifier: "AttrName" [105:54 - 105:62] DeclRefExpr=AttrName:101:19
|
||||
// CHECK-tokens: Punctuation: ")" [105:62 - 105:63] CXXFunctionalCastExpr=
|
||||
// CHECK-tokens: Punctuation: ")" [105:62 - 105:63] CallExpr=StringSwitch:87:12
|
||||
// CHECK-tokens: Punctuation: "." [106:5 - 106:6] MemberRefExpr=Case:88:42
|
||||
// CHECK-tokens: Identifier: "Case" [106:6 - 106:10] MemberRefExpr=Case:88:42
|
||||
// CHECK-tokens: Punctuation: "(" [106:10 - 106:11] CallExpr=Case:88:42
|
||||
|
@ -2081,7 +2081,7 @@ AttributeList::Kind AttributeList::getKind(const IdentifierInfo * Name) {
|
|||
// CHECK: 106:6: MemberRefExpr=Case:88:42 SingleRefName=[106:6 - 106:10] RefName=[106:6 - 106:10] Extent=[105:10 - 106:10]
|
||||
// CHECK: 105:10: CXXFunctionalCastExpr= Extent=[105:10 - 105:63]
|
||||
// CHECK: 105:16: TemplateRef=StringSwitch:83:47 Extent=[105:16 - 105:28]
|
||||
// CHECK: 105:10: CallExpr=StringSwitch:87:12 Extent=[105:10 - 105:62]
|
||||
// CHECK: 105:10: CallExpr=StringSwitch:87:12 Extent=[105:10 - 105:63]
|
||||
// CHECK: 105:54: CallExpr=StringRef:38:7 Extent=[105:54 - 105:62]
|
||||
// CHECK: 105:54: UnexposedExpr=AttrName:101:19 Extent=[105:54 - 105:62]
|
||||
// CHECK: 105:54: DeclRefExpr=AttrName:101:19 Extent=[105:54 - 105:62]
|
||||
|
@ -2240,4 +2240,3 @@ AttributeList::Kind AttributeList::getKind(const IdentifierInfo * Name) {
|
|||
// CHECK: 183:25: DeclRefExpr=AT_thiscall:27:44 Extent=[183:25 - 183:36]
|
||||
// CHECK: 184:11: StringLiteral= Extent=[184:11 - 184:21]
|
||||
// CHECK: 184:23: DeclRefExpr=AT_pascal:26:38 Extent=[184:23 - 184:32]
|
||||
|
||||
|
|
Loading…
Reference in New Issue