[clang] 4676cf4 - [Clang] Skip adding begin source location for PragmaLoopHint'd loop when
Yuanfang Chen via cfe-commits
cfe-commits at lists.llvm.org
Tue Jun 16 10:20:24 PDT 2020
Author: Yuanfang Chen
Date: 2020-06-16T10:19:36-07:00
New Revision: 4676cf444ea2678660ee48279be99efde4bf60e9
URL: https://github.com/llvm/llvm-project/commit/4676cf444ea2678660ee48279be99efde4bf60e9
DIFF: https://github.com/llvm/llvm-project/commit/4676cf444ea2678660ee48279be99efde4bf60e9.diff
LOG: [Clang] Skip adding begin source location for PragmaLoopHint'd loop when
the range start is already set
The range start could be set already in some invalid cases. Fixes
PR46336.
Added:
Modified:
clang/lib/Parse/ParseStmt.cpp
Removed:
################################################################################
diff --git a/clang/lib/Parse/ParseStmt.cpp b/clang/lib/Parse/ParseStmt.cpp
index d00f6b640fb4..773c31ff3aec 100644
--- a/clang/lib/Parse/ParseStmt.cpp
+++ b/clang/lib/Parse/ParseStmt.cpp
@@ -2195,9 +2195,11 @@ StmtResult Parser::ParsePragmaLoopHint(StmtVector &Stmts,
Attrs.takeAllFrom(TempAttrs);
- assert(Attrs.Range.getBegin().isInvalid() &&
- "start of attribute range already set");
- Attrs.Range.setBegin(StartLoc);
+ // Start of attribute range may already be set for some invalid input.
+ // See PR46336.
+ if (Attrs.Range.getBegin().isInvalid())
+ Attrs.Range.setBegin(StartLoc);
+
return S;
}
More information about the cfe-commits
mailing list