llvm-project/llvm/lib/Support/Unix
Abhina Sreeskantharajan 3be2ba0ba3 [SystemZ][z/OS][Windows] Add new functions that set Text/Binary mode for Stdin and Stdout based on OpenFlags
On Windows, we want to open a file in Binary mode if OF_CRLF bit is not set. On z/OS, we want to open a file in Binary mode if the OF_Text bit is not set.

This patch creates two new functions called ChangeStdinMode and ChangeStdoutMode which will take OpenFlags as an arg to determine which mode to set stdin and stdout to. This will enable patches like https://reviews.llvm.org/D100056 to not affect Windows when setting the OF_Text flag for raw_fd_streams.

Reviewed By: rnk

Differential Revision: https://reviews.llvm.org/D100130
2021-04-16 08:09:19 -04:00
..
COM.inc
DynamicLibrary.inc
Host.inc
Memory.inc
Path.inc Support: Add move semantics to mapped_file_region 2021-04-09 17:56:26 -07:00
Process.inc [libsupport] Silence a bogus valgrind warning. 2021-03-18 09:09:20 -07:00
Program.inc [SystemZ][z/OS][Windows] Add new functions that set Text/Binary mode for Stdin and Stdout based on OpenFlags 2021-04-16 08:09:19 -04:00
README.txt
Signals.inc [Signal] Re-raise SIGPIPE if the handler is uninstalled 2021-01-08 11:13:43 -08:00
ThreadLocal.inc
Threading.inc Implement computeHostNumHardwareThreads() for FreeBSD 2020-11-29 00:49:39 +01:00
Unix.h
Watchdog.inc

README.txt

llvm/lib/Support/Unix README
===========================

This directory provides implementations of the lib/System classes that
are common to two or more variants of UNIX. For example, the directory
structure underneath this directory could look like this:

Unix           - only code that is truly generic to all UNIX platforms
  Posix        - code that is specific to Posix variants of UNIX
  SUS          - code that is specific to the Single Unix Specification
  SysV         - code that is specific to System V variants of UNIX

As a rule, only those directories actually needing to be created should be
created. Also, further subdirectories could be created to reflect versions of
the various standards. For example, under SUS there could be v1, v2, and v3
subdirectories to reflect the three major versions of SUS.