diff options
Diffstat (limited to 'clang/lib/Format/TokenAnnotator.cpp')
| -rw-r--r-- | clang/lib/Format/TokenAnnotator.cpp | 10 |
1 files changed, 7 insertions, 3 deletions
diff --git a/clang/lib/Format/TokenAnnotator.cpp b/clang/lib/Format/TokenAnnotator.cpp index 9d9f5ef20f3..e1ffc25f633 100644 --- a/clang/lib/Format/TokenAnnotator.cpp +++ b/clang/lib/Format/TokenAnnotator.cpp @@ -464,6 +464,10 @@ private: next(); if (CurrentToken == NULL) return; + if (CurrentToken->Tok.is(tok::numeric_constant)) { + CurrentToken->SpacesRequiredBefore = 1; + return; + } // Hashes in the middle of a line can lead to any strange token // sequence. if (CurrentToken->Tok.getIdentifierInfo() == NULL) @@ -1051,9 +1055,9 @@ void TokenAnnotator::calculateFormattingInformation(AnnotatedLine &Line) { while (Current != NULL) { if (Current->Type == TT_LineComment) Current->SpacesRequiredBefore = Style.SpacesBeforeTrailingComments; - else - Current->SpacesRequiredBefore = - spaceRequiredBefore(Line, *Current) ? 1 : 0; + else if (Current->SpacesRequiredBefore == 0 && + spaceRequiredBefore(Line, *Current)) + Current->SpacesRequiredBefore = 1; Current->MustBreakBefore = Current->MustBreakBefore || mustBreakBefore(Line, *Current); |

