diff options
author | Richard Smith <richard-llvm@metafoo.co.uk> | 2011-06-21 23:07:19 +0000 |
---|---|---|
committer | Richard Smith <richard-llvm@metafoo.co.uk> | 2011-06-21 23:07:19 +0000 |
commit | cd6f36693ed40cef8c8639c04438d865187c1f73 (patch) | |
tree | 1637a9d3c8ffe5b210550a799d9f354e01509fcb /lib/Sema/SemaStmt.cpp | |
parent | a72a12f3baed07f2663e48c5fc3b670c68dffe0c (diff) |
First part of PR9968: the __range variable in a dependent C++11 for-range statement is implicitly used by that statement.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@133572 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/Sema/SemaStmt.cpp')
-rw-r--r-- | lib/Sema/SemaStmt.cpp | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/lib/Sema/SemaStmt.cpp b/lib/Sema/SemaStmt.cpp index 9af9c8de1b..0ba4f99abc 100644 --- a/lib/Sema/SemaStmt.cpp +++ b/lib/Sema/SemaStmt.cpp @@ -1406,6 +1406,9 @@ Sema::BuildCXXForRangeStmt(SourceLocation ForLoc, SourceLocation ColonLoc, if (LoopVar->isInvalidDecl()) NoteForRangeBeginEndFunction(*this, BeginExpr.get(), BEF_begin); } + } else { + // The range is implicitly used as a placeholder when it is dependent. + RangeVar->setUsed(); } return Owned(new (Context) CXXForRangeStmt(RangeDS, |