diff --git a/llvm/include/llvm/Support/MemoryBuffer.h b/llvm/include/llvm/Support/MemoryBuffer.h index e4635d0e7ab2..80672165f7f9 100644 --- a/llvm/include/llvm/Support/MemoryBuffer.h +++ b/llvm/include/llvm/Support/MemoryBuffer.h @@ -76,6 +76,17 @@ public: /// getSTDIN - Read all of stdin into a file buffer, and return it. This /// fails if stdin is empty. static MemoryBuffer *getSTDIN(); + + + /// getFileOrSTDIN - Open the specified file as a MemoryBuffer, or open stdin + /// if the Filename is "-". + static MemoryBuffer *getFileOrSTDIN(const char *FilenameStart,unsigned FnSize, + int64_t FileSize = -1) { + if (FnSize == 1 && FilenameStart[0] == '-') + return getSTDIN(); + return getFile(FilenameStart, FnSize, FileSize); + } + }; } // end namespace llvm