Objective-C modern translator. Don't put line info

into the pre-preprocessed file to be passed to
modern translator when compiling in no debug mode.
// rdar://13138170

llvm-svn: 177311
This commit is contained in:
Fariborz Jahanian 2013-03-18 19:41:18 +00:00
parent 69e76f80e2
commit e0a75d67a3
2 changed files with 23 additions and 1 deletions

View File

@ -1777,8 +1777,12 @@ void Clang::ConstructJob(Compilation &C, const JobAction &JA,
} else if (isa<PreprocessJobAction>(JA)) {
if (Output.getType() == types::TY_Dependencies)
CmdArgs.push_back("-Eonly");
else
else {
CmdArgs.push_back("-E");
if (Args.hasArg(options::OPT_rewrite_objc) &&
!Args.hasArg(options::OPT_g_Group))
CmdArgs.push_back("-P");
}
} else if (isa<AssembleJobAction>(JA)) {
CmdArgs.push_back("-emit-obj");

View File

@ -0,0 +1,18 @@
// RUN: %clang_cc1 -E %s -o %t.mm
// RUN: %clang -fms-extensions -rewrite-objc %t.mm -o %t-rw.cpp
// RUN: FileCheck -check-prefix LP --input-file=%t-rw.cpp %s
// RUN: %clang -g -fms-extensions -rewrite-objc %t.mm -o %t-rw.cpp
// RUN: FileCheck -check-prefix LPG --input-file=%t-rw.cpp %s
// rdar://13138170
int z();
int x() {
id foo;
for (id y in foo) {
z();
}
return 0;
}
// CHECK-LP-NOT: #line
// CHECK-LPG: #line