[PATCH] Make the presence of stdin and stdout optional

Eric Fiselier eric at efcs.ca
Mon Mar 16 08:46:03 PDT 2015


The LIT stuff  looks good to me. I haven't reviewed the changes to the library though.


================
Comment at: include/__config:735-741
@@ -734,2 +734,9 @@
 
+// CloudABI is intended for running networked services. Processes do not
+// have standard input and output channels.
+#ifdef __CloudABI__
+#define _LIBCPP_HAS_NO_STDIN
+#define _LIBCPP_HAS_NO_STDOUT
+#endif
+
 #if defined(__ANDROID__) || defined(__CloudABI__)
----------------
What I like about `_LIBCPP_HAS_NO_MONOTONIC_CLOCK` and `_LIBCPP_HAS_NO_THREADS` is that they must be explicitly defined be the user. We don't automatically provide those configurations by way of the `__config` header. I like this because those flags make libc++ become a non-conforming standard library.

Along the same vein I'm not sure I like `__config` having configuration paths that make libc++ non-conforming. I understand why this is done in the case of `__CloudABI__` and I'm not objecting. I just want to air my uneasiness. 

================
Comment at: test/std/input.output/iostream.objects/wide.stream.objects/wcin.pass.cpp:19
@@ -18,3 +20,3 @@
 {
 #if 0
     std::wcout << L"Hello World!\n";
----------------
Unrelated to this patch but these tests need to be looked into. They seem fishy. 

================
Comment at: test/std/input.output/iostream.objects/wide.stream.objects/wcout.pass.cpp:18
@@ -17,3 +19,3 @@
 {
 #if 0
     std::wcout << L"Hello World!\n";
----------------
There is something fishy about this test already.

http://reviews.llvm.org/D8340

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






More information about the cfe-commits mailing list