From 125c0ee5c7769c3db19838ac7184bb705d746aef Mon Sep 17 00:00:00 2001 From: Chris Lattner Date: Thu, 10 Dec 2009 00:38:54 +0000 Subject: fix PR5740: a colon is sacred when parsing case statement expressions! llvm-svn: 91016 --- clang/lib/Parse/RAIIObjectsForParser.h | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) (limited to 'clang/lib/Parse/RAIIObjectsForParser.h') diff --git a/clang/lib/Parse/RAIIObjectsForParser.h b/clang/lib/Parse/RAIIObjectsForParser.h index d18d2f80263..bacdf29c8ae 100644 --- a/clang/lib/Parse/RAIIObjectsForParser.h +++ b/clang/lib/Parse/RAIIObjectsForParser.h @@ -50,9 +50,15 @@ namespace clang { P.ColonIsSacred = true; } - ~ColonProtectionRAIIObject() { + /// restore - This can be used to restore the state early, before the dtor + /// is run. + void restore() { P.ColonIsSacred = OldVal; } + + ~ColonProtectionRAIIObject() { + restore(); + } }; } // end namespace clang -- cgit v1.2.3