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
