bcraig added a comment.

In http://reviews.llvm.org/D17146#350382, @mclow.lists wrote:

> > I'm open to recommendations on ways to test this that are better than 
> > "Submit, watch build bots, revert as necessary".
>
>
> My suggestion is to do this incrementally.
>  Implement the infrastructure bits, then move (say) Linux over to use the new 
> bits.
>  Then (say) Mac OS X. Then FreeBSD. Then IBM. Then Windows.
>  Repeat until everyone's moved over; watching the testbots (and getting the 
> people who committed support for each of these systems involved).
>  Then, when they're all moved, delete the old stuff.


I can see some places where I can improve the reviewability of the code by 
doing things incrementally.  Basically, I can shuffle code around in a few 
batches of changes first without substantially modifying the code in a few sets 
of changes.  Then I can do the big _CXX_ transformation after that.  I will see 
about opening different reviews for those smaller renames / shuffles, and link 
back to this review as justification.

I am hesitant to take the approach that you've described (port one platform at 
a time).  I think that would make locale.cpp and <locale> have lots of code 
that looks like the following...

  #if _USE_THE_NEW_STUFF
      return _CXX_btowc_l(c, __l);
  #elif _LIBCPP_LOCALE__L_EXTENSIONS
      return btowc_l(c, __l);
  #else
      return __btowc_l(c, __l);
  #endif

With this approach, I'd still be doing a lot of blind submissions, and in the 
short term, the code would get worse.  If, for whatever reason, I'm unable to 
complete the port and delete all the old stuff, then the refactor turns into a 
net negative.


http://reviews.llvm.org/D17146



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

Reply via email to