ΒΆstd::error_code writeFileWithEncoding(
    llvm::StringRef FileName,
    llvm::StringRef Contents,
    llvm::sys::WindowsEncodingMethod Encoding =
        WEM_UTF8)

Description

Saves the UTF8-encoded \p contents string into the file \p FileName using a specific encoding. This write file function adds the possibility to choose which encoding to use when writing a text file. On Windows, this is important when writing files with internationalization support with an encoding that is different from the one used in LLVM (UTF-8). We use this when writing response files, since GCC tools on MinGW only understand legacy code pages, and VisualStudio tools only understand UTF-16. For UNIX, using different encodings is silently ignored, since all tools work well with UTF-8. This function assumes that you only use UTF-8 *text* data and will convert it to your desired encoding before writing to the file. FIXME: We use EM_CurrentCodePage to write response files for GNU tools in a MinGW/MinGW-w64 environment, which has serious flaws but currently is our best shot to make gcc/ld understand international characters. This should be changed as soon as binutils fix this to support UTF16 on mingw.

Declared at: llvm/include/llvm/Support/Program.h:174

Parameters

llvm::StringRef FileName
llvm::StringRef Contents
llvm::sys::WindowsEncodingMethod Encoding = WEM_UTF8

Returns

non-zero error_code if failed