On Mon, Mar 17, 2014 at 5:09 AM, Abid, Hafiz <[email protected]> wrote:
> Probably I was not clear in the description. Previously whole of the > file case surrounded by _*MSC*_VER which was changes to _WIN32 so that > code can be used for other compilers too. But there are certain > declarations which are probably only needed on MSVC so they were surrounded > by _*MSC*_VER. I suspect some are not even needed for MSVC too e.g. > struct timeval which seems to present in winsock2.h for both mingw and > msvc. Defining snprintf to _snprintf is also a bit suspect as these > functions have slightly different behaviour so I think it is better to > restrict these definition to msvc. > > > > Having said that, I am OK to go with your change if you still think that > would be the better check. > Ah, it was indeed the commit message that was misleading. I think that the _MSC_VER is still slightly misleading as it is simply there to indicate that you are running against a pure MSVCRT environment rather than cygwin or MinGW. But, I dont know of a better way to indicate that (in LLVM we would just use LLVM_ON_WIN32). I do agree with your sentiment on simply defining snprintf to _snprintf as being dubious given the slightly different semantics of the two calls. Thanks for the clarification! > Thanks, > > Abid > > > > *From:* Saleem Abdulrasool [mailto:[email protected]] > *Sent:* 15 March 2014 02:54 > *To:* Abid, Hafiz > *Cc:* [email protected] > *Subject:* Re: [Lldb-commits] [lldb] r203781 - Hide some declarations > from mingw. > > > > On Thu, Mar 13, 2014 at 3:42 AM, Hafiz Abid Qadeer <[email protected]> > wrote: > > Author: abidh > Date: Thu Mar 13 05:42:28 2014 > New Revision: 203781 > > URL: http://llvm.org/viewvc/llvm-project?rev=203781&view=rev > Log: > Hide some declarations from mingw. > > > > Given this description, I don't think that this change is the proper way > to handle this. Can you change the #ifdef _MSC_VER to if > !defined(__MINGW32__) please? _MSC_VER indicates that you are using either > the Microsoft compiler or clang with Microsoft compatibility. > > > > Modified: > lldb/trunk/tools/driver/Platform.cpp > lldb/trunk/tools/driver/Platform.h > > Modified: lldb/trunk/tools/driver/Platform.cpp > URL: > http://llvm.org/viewvc/llvm-project/lldb/trunk/tools/driver/Platform.cpp?rev=203781&r1=203780&r2=203781&view=diff > > ============================================================================== > --- lldb/trunk/tools/driver/Platform.cpp (original) > +++ lldb/trunk/tools/driver/Platform.cpp Thu Mar 13 05:42:28 2014 > @@ -84,6 +84,7 @@ tcgetattr (int fildes, struct termios *t > return -1; > } > > +#ifdef _MSC_VER > sighandler_t > signal (int sig, sighandler_t sigFunc) > { > @@ -106,5 +107,6 @@ signal (int sig, sighandler_t sigFunc) > } > return 0; > } > +#endif > > #endif > > Modified: lldb/trunk/tools/driver/Platform.h > URL: > http://llvm.org/viewvc/llvm-project/lldb/trunk/tools/driver/Platform.h?rev=203781&r1=203780&r2=203781&view=diff > > ============================================================================== > --- lldb/trunk/tools/driver/Platform.h (original) > +++ lldb/trunk/tools/driver/Platform.h Thu Mar 13 05:42:28 2014 > @@ -16,18 +16,13 @@ > > // this will stop signal.h being included > #define _INC_SIGNAL > - > #include <io.h> > +#if defined( _MSC_VER ) > #include <eh.h> > +#endif > #include <inttypes.h> > #include "lldb/Host/windows/windows.h" > > - struct timeval > - { > - long tv_sec; > - long tv_usec; > - }; > - > struct winsize > { > long ws_col; > @@ -65,13 +60,8 @@ > speed_t c_ospeed; // output speed > }; > > - typedef long pid_t; > - > #define STDIN_FILENO 0 > > - #define PATH_MAX MAX_PATH > - #define snprintf _snprintf > - > extern int ioctl( int d, int request, ... ); > extern int kill ( pid_t pid, int sig ); > extern int tcsetattr( int fd, int optional_actions, const struct > termios *termios_p ); > @@ -86,7 +76,18 @@ > #define SIG_DFL ( (sighandler_t) -1 ) > // ignored > #define SIG_IGN ( (sighandler_t) -2 ) > + > +#ifdef _MSC_VER > + struct timeval > + { > + long tv_sec; > + long tv_usec; > + }; > + typedef long pid_t; > + #define snprintf _snprintf > extern sighandler_t signal( int sig, sighandler_t ); > + #define PATH_MAX MAX_PATH > +#endif > > #else > > > > _______________________________________________ > lldb-commits mailing list > [email protected] > http://lists.cs.uiuc.edu/mailman/listinfo/lldb-commits > > > > -- > Saleem Abdulrasool > compnerd (at) compnerd (dot) org > -- Saleem Abdulrasool compnerd (at) compnerd (dot) org
_______________________________________________ lldb-commits mailing list [email protected] http://lists.cs.uiuc.edu/mailman/listinfo/lldb-commits
