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


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@177311 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
Fariborz Jahanian 2013-03-18 19:41:18 +00:00
Родитель f3260565f4
Коммит 51be73daa9
2 изменённых файлов: 23 добавлений и 1 удалений

Просмотреть файл

@ -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");

Просмотреть файл

@ -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