labath added inline comments.

================
Comment at: include/lldb/Host/HostGetOpt.h:11
@@ -10,3 +10,1 @@
 
-#ifndef _MSC_VER
-
----------------
krytarowski wrote:
> labath wrote:
> > How about just putting here
> > ```
> > #if !defined(_MSC_VER) && !defined(__NetBSD__)
> > ```
> I dislike having two headers for the same purpose, can I just obsolete 
> GetOptInc.h and put its content here?
I kinda like the idea where one header just select the correct implementation 
to use, and then the other headers contain the actual implementations. So it's 
not exactly the _same_ purpose for me. But I don't feel too strongly about 
that, so if you think it will make things cleaner, i guess you can go ahead.

================
Comment at: include/lldb/Host/common/GetOptInc.h:7
@@ +6,3 @@
+#define REPLACE_GETOPT
+#define REPLACE_GETOPT_LONG
+#endif
----------------
This macro will be defined twice for _MSC_VER. You only need one of these two 
definitions.

================
Comment at: include/lldb/Host/common/GetOptInc.h:10
@@ +9,3 @@
+#if defined(_MSC_VER) || defined(__NetBSD__)
+#define REPLACE_GETOPT_LONG
+#endif
----------------
second definition.

================
Comment at: source/Host/CMakeLists.txt:12
@@ -11,2 +11,3 @@
   common/FileSystem.cpp
+  common/GetOptInc.cpp
   common/Host.cpp
----------------
krytarowski wrote:
> labath wrote:
> > This will compile the file for all targets, which causes errors e.g. on 
> > linux. Either make the inclusion of this file conditional in cmake, or put 
> > the entire cpp file contents under appropriate ifdefs (windows or netbsd).
> I will put the entire file under #ifdefs, I will reuse the defines 
> REPLACE_GETOPT from .h.
> 
> For platforms with all needed getopt(3) functions. I will add a dummy local 
> variable, like static int getopt_dummy = 0; This will be needed to feed ld(1) 
> on some toolchains.
> I will put the entire file under #ifdefs, I will reuse the defines 
> REPLACE_GETOPT from .h.
Sounds good.

> For platforms with all needed getopt(3) functions. I will add a dummy local 
> variable, like static int getopt_dummy = 0; This will be needed to feed ld(1) 
> on some toolchains.
Why exactly is this necessary? Is there a linker that will not accept an empty 
.o file? We have a number of files #ifdefed completely and it seems to work 
fine (e.g. source/Plugins/Process/Linux/NativeRegisterContext*). So, unless you 
know of a particular linker that needs this thing I would leave it out for now.


Repository:
  rL LLVM

http://reviews.llvm.org/D12582



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

Reply via email to