| Index: tools/pnacl-thaw/pnacl-thaw.cpp
|
| diff --git a/tools/pnacl-thaw/pnacl-thaw.cpp b/tools/pnacl-thaw/pnacl-thaw.cpp
|
| index b28c357165779af6ec11dd6e5e19cb225e8b7f31..6d23f69fde71c0f575eaf56e019c645d53367ef8 100644
|
| --- a/tools/pnacl-thaw/pnacl-thaw.cpp
|
| +++ b/tools/pnacl-thaw/pnacl-thaw.cpp
|
| @@ -33,12 +33,19 @@ OutputFilename("o", cl::desc("Specify thawed pexe filename"),
|
| cl::value_desc("filename"));
|
|
|
| static cl::opt<std::string>
|
| -InputFilename(cl::Positional, cl::desc("<frozen file>"), cl::Required);
|
| +InputFilename(cl::Positional, cl::desc("<frozen file>"), cl::init("-"));
|
|
|
| static void WriteOutputFile(const Module *M) {
|
|
|
| - std::string ThawedFilename =
|
| - (OutputFilename.size() == 0 ? (InputFilename + ".thawed") : OutputFilename);
|
| + std::string ThawedFilename(OutputFilename);
|
| + if (OutputFilename.size() == 0) {
|
| + std::string input_filename;
|
| + if (InputFilename == "-")
|
| + input_filename = "<stdin>";
|
| + else
|
| + input_filename = InputFilename;
|
| + ThawedFilename = input_filename + ".thawed";
|
| + }
|
|
|
| std::string ErrorInfo;
|
| OwningPtr<tool_output_file> Out
|
| @@ -72,7 +79,11 @@ int main(int argc, char **argv) {
|
| // Use the bitcode streaming interface
|
| DataStreamer *streamer = getDataFileStreamer(InputFilename, &ErrorMessage);
|
| if (streamer) {
|
| - std::string DisplayFilename = InputFilename;
|
| + std::string DisplayFilename;
|
| + if (InputFilename == "-")
|
| + DisplayFilename = "<stdin>";
|
| + else
|
| + DisplayFilename = InputFilename;
|
| M.reset(getNaClStreamedBitcodeModule(DisplayFilename, streamer, Context,
|
| &ErrorMessage));
|
| if(M.get() != 0 && M->MaterializeAllPermanently(&ErrorMessage)) {
|
|
|