From c3d0c82ab0ce17c684c0192f14059d8e4d63156c Mon Sep 17 00:00:00 2001 From: Manuel Klimek <klimek@google.com> Date: Mon, 7 Jan 2013 09:34:28 +0000 Subject: [PATCH] Remove outdated FIXME and add explanation for error handling strategy while parsing #define's. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@171717 91177308-0d34-0410-b5e6-96231b3b80d8 --- lib/Format/UnwrappedLineParser.cpp | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/lib/Format/UnwrappedLineParser.cpp b/lib/Format/UnwrappedLineParser.cpp index 00710827c2a..70f33ad0315 100644 --- a/lib/Format/UnwrappedLineParser.cpp +++ b/lib/Format/UnwrappedLineParser.cpp @@ -29,8 +29,6 @@ public: : Line(Line), TokenSource(TokenSource), ResetToken(ResetToken), PreviousLineLevel(Line.Level), PreviousTokenSource(TokenSource) { TokenSource = this; - // FIXME: Back up all other state (errors, line indent, etc) and reset after - // parsing the macro. Line.Level = 0; Line.InPPDirective = true; } @@ -173,6 +171,12 @@ void UnwrappedLineParser::parsePPDefine() { } addUnwrappedLine(); Line.Level = 1; + + // Errors during a preprocessor directive can only affect the layout of the + // preprocessor directive, and thus we ignore them. An alternative approach + // would be to use the same approach we use on the file level (no + // re-indentation if there was a structural error) within the macro + // definition. parseFile(); } -- GitLab