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

Jonathan Roelofs jonathan at codesourcery.com
Thu Mar 12 10:51:28 PDT 2015



On 3/12/15 11:43 AM, Eric Fiselier wrote:
> 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.
@ericwf: The use case is that we want to be able to test it on normal 
systems that don't automatically set it in __config. This mirrors what 
we do for the singlethreaded config.


Cheers,

Jon
>
> 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/
>
>

-- 
Jon Roelofs
jonathan at codesourcery.com
CodeSourcery / Mentor Embedded



More information about the cfe-commits mailing list