Looks good.

On Aug 30, 2013, at 10:44 PM, Virgile Bello <[email protected]> wrote:

> Hello,
> 
> One of the biggest issue with the current MinGW build was that lldb-types 
> included <Windows.h>.
> 
> It leads to slower compile time, but more importantly, due to its monolithic 
> architecture, it was pulling lot of unwanted #defines. This results in 
> various clash (requiring #undef). As an example, this recently resulted in 
> many enum/#define conflicts with llvm's COFF.h.
> 
> On top of that, it was also polluding user code including LLDB since it would 
> in turn include Windows.h, pulling all those unwanted #define, and removing 
> control over how the user might want to include <windows.h> himself (it's 
> controllable through various "pre #define").
> 
> As a result, I tried to remove <windows.h> from lldb-types.h.
> This led to various small refactoring (usually moving things from .h to .cpp, 
> esp. for sockaddr, TimeValue, using LLVM atomic, etc...).
> Also SocketAddress is considered internal only (included only in .cpp, not 
> .h) because it requires system defines (only .h file requiring windows.h).
> I had to get rid of timeval from headers (which is unfortunately defined by 
> winsock2.h in Windows).
> 
> Note that I added two new functions and a constructor in TimeValue: seconds() 
> and nanoseconds(). It doesn't match casing of existing lldb class but I tried 
> to use LLVM's TimeValue function name so that a later transition to LLVM one 
> will be more easy.
> 
> Patch might need some tuning, but it should give you a good idea of what I 
> want to achieve.
> Let me know what you think about it.
> 
> Virgile
> <lldb-remove-windows-h.diff>_______________________________________________
> lldb-commits mailing list
> [email protected]
> http://lists.cs.uiuc.edu/mailman/listinfo/lldb-commits

_______________________________________________
lldb-commits mailing list
[email protected]
http://lists.cs.uiuc.edu/mailman/listinfo/lldb-commits

Reply via email to