I tried pretty hard to find a way that this wouldn't work under msvc, but it 
looks like it all should be fine. It won't pass along the compiler information 
for msvc, but it will still work.

Mostly LGTM, but I left some nits.


================
Comment at: test/libcxx/test/compiler.py:5
@@ +4,3 @@
+
+class CXXCompiler(object):
+    def __init__(self, path, flags=[], compile_flags=[], link_flags=[], 
use_ccache=False):
----------------
I probably would have put this directly in the `libcxx` module rather than 
`libcxx.test`, but nbd.

================
Comment at: test/libcxx/test/compiler.py:13
@@ +12,3 @@
+        self.type = None
+        self.version = (None, None, None)
+        self._initTypeAndVersion()
----------------
This should maybe be just `None`, since you want it to abort if try to use it 
before it's initialized (and `bool((None, None, None)) == True`).

================
Comment at: test/libcxx/test/compiler.py:20
@@ +19,3 @@
+        if macros is None:
+            return
+        compiler_type = None
----------------
Isn't this an error? Should probably raise an exception...

================
Comment at: test/libcxx/test/compiler.py:48
@@ +47,3 @@
+            cmd += infiles
+        elif isinstance(infiles, str):
+            cmd += [infiles]
----------------
I'm not a fan of using one argument to accept multiple types that don't conform 
to the same interface (or behave like the same duck, as it were). Just require 
that `infiles` is a `list`. The argument name is plural, after all.

================
Comment at: test/libcxx/test/compiler.py:102
@@ +101,3 @@
+            return None
+        parsed_macros = dict()
+        lines = [l.strip() for l in out.split('\n') if l.strip()]
----------------
`parsed_macros = {}`

================
Comment at: test/libcxx/test/compiler.py:107
@@ +106,3 @@
+            l = l[len('#define '):]
+            macro, _, value = l.partition(' ')
+            parsed_macros[macro] = value
----------------
`macro, value = l.split()`

http://reviews.llvm.org/D7019

EMAIL PREFERENCES
  http://reviews.llvm.org/settings/panel/emailpreferences/



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

Reply via email to