From cf2048bbb3c3340e676fa166b2afd68e9ebf4e8d Mon Sep 17 00:00:00 2001 From: Alp Toker Date: Tue, 3 Jun 2014 02:14:20 +0000 Subject: [PATCH] Fix -emit-codegen-only to not generate binaries llvm-svn: 210059 --- clang/lib/CodeGen/CodeGenAction.cpp | 1 + clang/test/Frontend/disable-output.c | 7 +++++++ 2 files changed, 8 insertions(+) create mode 100644 clang/test/Frontend/disable-output.c diff --git a/clang/lib/CodeGen/CodeGenAction.cpp b/clang/lib/CodeGen/CodeGenAction.cpp index d337fa7c431c..88f02b4e6a0c 100644 --- a/clang/lib/CodeGen/CodeGenAction.cpp +++ b/clang/lib/CodeGen/CodeGenAction.cpp @@ -568,6 +568,7 @@ static raw_ostream *GetOutputStream(CompilerInstance &CI, case Backend_EmitNothing: return nullptr; case Backend_EmitMCNull: + return new raw_null_ostream(); case Backend_EmitObj: return CI.createDefaultOutputFile(true, InFile, "o"); } diff --git a/clang/test/Frontend/disable-output.c b/clang/test/Frontend/disable-output.c new file mode 100644 index 000000000000..786ac77ef18e --- /dev/null +++ b/clang/test/Frontend/disable-output.c @@ -0,0 +1,7 @@ +// REQUIRES: x86-registered-target +// RUN: %clang_cc1 %s -emit-llvm-only -triple=i386-apple-darwin -o %t +// RUN: not rm %t +// RUN: %clang_cc1 %s -emit-codegen-only -triple=i386-apple-darwin -o %t +// RUN: not rm %t + +// Test that output is not generated when emission is disabled.