add support for -x c++-header, update comment.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@63924 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
Chris Lattner 2009-02-06 06:19:20 +00:00
Родитель 59076ab80b
Коммит c76d807565
1 изменённых файлов: 25 добавлений и 20 удалений

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

@ -267,6 +267,7 @@ enum LangKind {
langkind_c_pch, langkind_c_pch,
langkind_cxx, langkind_cxx,
langkind_cxx_cpp, langkind_cxx_cpp,
langkind_cxx_pch,
langkind_objc, langkind_objc,
langkind_objc_cpp, langkind_objc_cpp,
langkind_objc_pch, langkind_objc_pch,
@ -276,9 +277,7 @@ enum LangKind {
}; };
/* TODO: GCC also accepts: /* TODO: GCC also accepts:
c-header c++-header objective-c-header objective-c++-header assembler, ada, f77*, ratfor (!), f95, java, treelang
assembler
ada, f77*, ratfor (!), f95, java, treelang
*/ */
static llvm::cl::opt<LangKind> static llvm::cl::opt<LangKind>
BaseLang("x", llvm::cl::desc("Base language to compile"), BaseLang("x", llvm::cl::desc("Base language to compile"),
@ -292,15 +291,17 @@ BaseLang("x", llvm::cl::desc("Base language to compile"),
clEnumValN(langkind_asm_cpp, "assembler-with-cpp", clEnumValN(langkind_asm_cpp, "assembler-with-cpp",
"Preprocessed asm"), "Preprocessed asm"),
clEnumValN(langkind_cxx_cpp, "c++-cpp-output", clEnumValN(langkind_cxx_cpp, "c++-cpp-output",
"Preprocessed C++"), "Preprocessed C++"),
clEnumValN(langkind_objc_cpp, "objective-c-cpp-output", clEnumValN(langkind_objc_cpp, "objective-c-cpp-output",
"Preprocessed Objective C"), "Preprocessed Objective C"),
clEnumValN(langkind_objcxx_cpp,"objective-c++-cpp-output", clEnumValN(langkind_objcxx_cpp, "objective-c++-cpp-output",
"Preprocessed Objective C++"), "Preprocessed Objective C++"),
clEnumValN(langkind_c_pch,"c-header", clEnumValN(langkind_c_pch, "c-header",
"Precompiled C header"), "Precompiled C header"),
clEnumValN(langkind_objc_pch, "objective-c-header", clEnumValN(langkind_objc_pch, "objective-c-header",
"Precompiled Objective-C header"), "Precompiled Objective-C header"),
clEnumValN(langkind_cxx_pch, "c++-header",
"Precompiled C++ header"),
clEnumValN(langkind_objcxx_pch, "objective-c++-header", clEnumValN(langkind_objcxx_pch, "objective-c++-header",
"Precompiled Objective-C++ header"), "Precompiled Objective-C++ header"),
clEnumValEnd)); clEnumValEnd));
@ -376,20 +377,24 @@ static bool InitializeLangOptions(LangOptions &Options, LangKind LK){
// Test for 'PCH'. // Test for 'PCH'.
switch (LK) { switch (LK) {
default: default:
break; break;
case langkind_c_pch: case langkind_c_pch:
LK = langkind_c; LK = langkind_c;
PCH = true; PCH = true;
break; break;
case langkind_objc_pch: case langkind_objc_pch:
LK = langkind_objc; LK = langkind_objc;
PCH = true; PCH = true;
break; break;
case langkind_objcxx_pch: case langkind_cxx_pch:
LK = langkind_objcxx; LK = langkind_cxx;
PCH = true; PCH = true;
break; break;
case langkind_objcxx_pch:
LK = langkind_objcxx;
PCH = true;
break;
} }
switch (LK) { switch (LK) {