rsmith added a comment.

In http://reviews.llvm.org/D18530#387230, @zturner wrote:

> I'm curious now what clang does in this regard, so +rsmith in case he has 
> some insight into what happens in clang when someone wants to re-organize 
> some code and how other downstream customers (for example, swift) deal with 
> this.


Clang has no API stability guarantees for its C++ interface. We reserve the 
right to reorganize at will, and to update, rename, and remove interfaces. This 
applies doubly to our internal code organization. Yes, this creates a burden on 
people maintaining out-of-tree patches, but in some ways that's a benefit, as 
it encourages patches to be contributed upstream when they make sense, or at 
least for patches to be proposed to refactor upstream so that the local changes 
are cleanly separable from the upstream code.

Organizational changes do have a cost to upstream development in many ways 
(people are no longer familiar with the code organization, merging fixes to 
point releases is harder, work-in-progress changes may need non-trivial work to 
rebase, ...), so we'd only make them when they make sense from a technical / 
organizational perspective, but in the long term, it's not possible to maintain 
a healthy codebase if cleanup changes are held back due to those short-term 
costs.


http://reviews.llvm.org/D18530



_______________________________________________
lldb-commits mailing list
lldb-commits@lists.llvm.org
http://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits

Reply via email to