================
Comment at: lib/Format/Format.cpp:903
@@ +902,3 @@
+      // the 'operator' is ',', ';' or an assignment as those have different
+      // indentation rules.
+      if (*I == prec::Conditional ||
----------------
Manuel Klimek wrote:
> Daniel Jasper wrote:
> > Manuel Klimek wrote:
> > > Why does SkipFirstExtraIndent only apply to the latter?
> > Because the rule for conditional expressions supersedes the one for 
> > assignments etc.. Thus "always indent conditional expressions.". Otherwise, 
> > we would end up with:
> > 
> >   int aaaaaa = bbbbbb
> >                ? ccccccc
> >                : dddddd
> The next sentence also says "never indent ...", but it's under 
> !SkipFirstExtraIndent, or am I missing something?
Ok, I'll update the "Never indent .. " sentence.

================
Comment at: lib/Format/TokenAnnotator.cpp:803
@@ -804,4 +802,3 @@
           CurrentPrecedence = 1 + (int) prec::Conditional;
-        else if (Current->is(tok::semi) || Current->Type == TT_InlineASMColon 
||
-                 Current->Type == TT_CtorInitializerColon)
+        else if (Current->is(tok::semi) || Current->Type == TT_InlineASMColon)
           CurrentPrecedence = 1;
----------------
Manuel Klimek wrote:
> Daniel Jasper wrote:
> > Manuel Klimek wrote:
> > > Why did this change?
> > Because it is no longer necessary to "cheat" by regarding constructor 
> > initializers as binary operators. They follow different rules and thus 
> > should be handled in a different fashion.
> I assume that was already the case before, and is not necessarily related to 
> this change?
There is another change in line Format.cpp:868 that basically does the same 
thing, but at a more appropriate location. Otherwise the handling of those 
colons don't play nice with the new binary expression indentation.


http://llvm-reviews.chandlerc.com/D631
_______________________________________________
cfe-commits mailing list
[email protected]
http://lists.cs.uiuc.edu/mailman/listinfo/cfe-commits

Reply via email to