<div dir="ltr">Hi,<div><br></div><div><a href="http://reviews.llvm.org/D76801">http://reviews.llvm.org/D76801</a> changed clang/lib/AST/TypePrinter.cpp to not print a space between consecutive '>'s in templates if targeting C++11 or later.<br></div><div><br></div><div>I noticed recently that this affects Objective-C's @encode too, which means it has different results based on language standard, making it impossible to build part of a program with C++98 and another part with C++11 (...if both parts need @encode if some common type to agree). It also means @encode for types changed with that patch, which is an ABI break of sorts.</div><div><br></div><div>However, the change landed in March, so maybe it's already deployed in new Xcodes.</div><div><br></div><div>Should we make @encode opt out of this pretty printing change to restore the old behavior? (Several other places also broke due to that change and were changed to opt out -- debug info, for example).</div><div><br></div><div>I found this while writing tests for an unrelated change [1] and I don't know of any projects adversely affected by this.</div><div><br></div><div>Nico</div><div><br></div><div><br></div><div>1: See "FIXME" in <a href="https://reviews.llvm.org/D90622#change-Aht3gYP3AIRe">https://reviews.llvm.org/D90622#change-Aht3gYP3AIRe</a></div></div>