diff options
author | Chandler Carruth <chandlerc@gmail.com> | 2013-10-22 18:07:04 +0000 |
---|---|---|
committer | Chandler Carruth <chandlerc@gmail.com> | 2013-10-22 18:07:04 +0000 |
commit | d661d50118716e9695af5a893a2df45e87a6b3c8 (patch) | |
tree | fc75aee2c00d8e803e27cf857c239873222ce37a /lib/Sema/Scope.cpp | |
parent | 37acb250dbcf580393c9936c1e71552f84220398 (diff) | |
download | clang-d661d50118716e9695af5a893a2df45e87a6b3c8.tar.gz |
Revert r193073 and the attempt to fix it in r193170.
This patch wasn't reviewed, and isn't correctly preserving the behaviors
relied upon by QT. I don't have a direct example of fallout, but it
should go through the standard code review process. For example, it
should never have removed the QT test case that was added when fixing
those users.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@193174 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/Sema/Scope.cpp')
-rw-r--r-- | lib/Sema/Scope.cpp | 37 |
1 files changed, 0 insertions, 37 deletions
diff --git a/lib/Sema/Scope.cpp b/lib/Sema/Scope.cpp index 8c2a8b3773..10f12ce844 100644 --- a/lib/Sema/Scope.cpp +++ b/lib/Sema/Scope.cpp @@ -69,40 +69,3 @@ bool Scope::containedInPrototypeScope() const { } return false; } - -void Scope::SetFlags(unsigned FlagsToSet) { - assert((FlagsToSet & ~(BreakScope | ContinueScope)) == 0 || - "Unsupported scope flags"); - assert ((Flags & ControlScope) != 0 || "Must be control scope"); - if (FlagsToSet & BreakScope) { - assert((Flags & BreakScope) == 0 || "Already set"); - BreakParent = this; - } - if (FlagsToSet & ContinueScope) { - assert((Flags & ContinueScope) == 0 || "Already set"); - ContinueParent = this; - } - Flags |= FlagsToSet; -} - -void Scope::ClearFlags(unsigned FlagsToClear) { - assert((FlagsToClear & ~(BreakScope | ContinueScope)) == 0 || - "Unsupported scope flags"); - if (FlagsToClear & BreakScope) { - assert((Flags & ControlScope) != 0 || "Must be control scope"); - assert((Flags & BreakScope) != 0 || "Already cleared"); - // This is a loop or switch scope. Flag BreakScope is removed temporarily - // when parsing the loop or switch header, to prevent constructs like this: - // \code - // while (({ if(a>N) break; a})) - // \endcode - BreakParent = 0; - } - if (FlagsToClear & ContinueScope) { - assert ((Flags & ControlScope) != 0 || "Must be control scope"); - assert((Flags & ContinueScope) != 0 || "Already cleared"); - ContinueParent = 0; - } - Flags &= ~FlagsToClear; -} - |