langkind_unspecified,
langkind_c,
langkind_c_cpp,
+ langkind_asm_cpp,
langkind_c_pch,
langkind_cxx,
langkind_cxx_cpp,
/* TODO: GCC also accepts:
c-header c++-header objective-c-header objective-c++-header
- assembler assembler-with-cpp
+ assembler
ada, f77*, ratfor (!), f95, java, treelang
*/
static llvm::cl::opt<LangKind>
clEnumValN(langkind_objcxx,"objective-c++","Objective C++"),
clEnumValN(langkind_c_cpp, "c-cpp-output",
"Preprocessed C"),
+ clEnumValN(langkind_asm_cpp, "assembler-with-cpp",
+ "Preprocessed asm"),
clEnumValN(langkind_cxx_cpp, "c++-cpp-output",
"Preprocessed C++"),
clEnumValN(langkind_objc_cpp, "objective-c-cpp-output",
// assembler: .S
if (Ext == "c")
return langkind_c;
+ else if (Ext == "S" || Ext == "s")
+ return langkind_asm_cpp;
else if (Ext == "i")
return langkind_c_cpp;
else if (Ext == "ii")
InitializeCOptions(Options);
PCH = true;
break;
+ case langkind_asm_cpp:
+ // FALLTHROUGH
case langkind_c_cpp:
NoPreprocess = true;
// FALLTHROUGH
switch (LK) {
default: assert(0 && "Unknown base language");
case langkind_c:
+ case langkind_asm_cpp:
case langkind_c_cpp:
case langkind_c_pch:
case langkind_objc:
CCC_ECHO = checkbool('CCC_ECHO')
CCC_NATIVE = checkbool('CCC_NATIVE','1')
CCC_FALLBACK = checkbool('CCC_FALLBACK')
-CCC_LANGUAGES = checkenv('CCC_LANGUAGES','c,c++,c-cpp-output,objective-c,objective-c++,objective-c-cpp-output')
+CCC_LANGUAGES = checkenv('CCC_LANGUAGES','c,c++,c-cpp-output,objective-c,objective-c++,objective-c-cpp-output,assembler-with-cpp')
if CCC_LANGUAGES:
CCC_LANGUAGES = set([s.strip() for s in CCC_LANGUAGES.split(',')])