[PATCH] libc++: Add option to disable access to the global filesystem namespace

Eric Fiselier eric at efcs.ca
Thu Mar 12 10:43:25 PDT 2015


I don't like this patch. You define `_LIBCPP_HAS_NO_GLOBAL_FILESYSTEM_NAMESPACE` in three different places. If it is defined it the `__config` file there should be no need to define it in the `CMakeLists.txt`. This seems like a recipe for causing trouble.

Also these are some big changes we are introducing for CloudABI. Could you explain to me where this platform is used and who needs the changes?


REPOSITORY
  rL LLVM

================
Comment at: libcxx/trunk/include/__config:731
@@ +730,3 @@
+// used, as they attempt to access the global filesystem namespace.
+#ifdef __CloudABI__
+#define _LIBCPP_HAS_NO_GLOBAL_FILESYSTEM_NAMESPACE
----------------
Where do we get the definition for `__CloudABI__` from?

================
Comment at: libcxx/trunk/test/libcxx/test/format.py:63
@@ -62,1 +62,3 @@
 
+        if test.config.unsupported:
+            return (lit.Test.UNSUPPORTED,
----------------
I don't think we should be using this. Why not put the metadata into the tests?

================
Comment at: libcxx/trunk/test/std/input.output/file.streams/c.files/no.global.filesystem.namespace/fopen.fail.cpp:8
@@ +7,3 @@
+//
+//===----------------------------------------------------------------------===//
+
----------------
Add `// UNSUPPORTED: libcpp-has-no-global-filesystem-namespace`

================
Comment at: libcxx/trunk/test/std/input.output/file.streams/c.files/no.global.filesystem.namespace/lit.local.cfg:1
@@ +1,2 @@
+if 'libcpp-has-no-global-filesystem-namespace' not in config.available_features:
+    config.unsupported = True
----------------
Remove this file. Add `// UNSUPPORTED: libcpp-has-no-global-filesystem-namespace` to the tests.

================
Comment at: libcxx/trunk/test/std/input.output/file.streams/c.files/no.global.filesystem.namespace/rename.fail.cpp:9
@@ +8,3 @@
+//===----------------------------------------------------------------------===//
+
+#include <cstdio>
----------------
Add `// UNSUPPORTED: libcpp-has-no-global-filesystem-namespace`

================
Comment at: libcxx/trunk/test/std/input.output/file.streams/fstreams/lit.local.cfg:1
@@ +1,2 @@
+if 'libcpp-has-no-global-filesystem-namespace' in config.available_features:
+    config.unsupported = True
----------------
Remove this file. Add `// UNSUPPORTED: libcpp-has-no-global-filesystem-namespace` to the tests.

================
Comment at: libcxx/trunk/test/std/localization/locales/locale.convenience/conversions/conversions.buffer/lit.local.cfg:1
@@ +1,2 @@
+if 'libcpp-has-no-global-filesystem-namespace' in config.available_features:
+    config.unsupported = True
----------------
Remove this file. Add `// UNSUPPORTED: libcpp-has-no-global-filesystem-namespace` to the tests.

http://reviews.llvm.org/D8194

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






More information about the cfe-commits mailing list