[PATCH} Remove '.bc' input support from the frontend
Alp Toker
alp at nuanti.com
Thu Jun 26 14:41:19 PDT 2014
On 25/06/2014 09:17, Eric Christopher wrote:
>> I'm not terribly invested in it - just mentioning that I/think/ I've
>> >relied on this feature on at least a few occasions but it wouldn't be
>> >hard for me to workaround - just one data point. Others may chime in
>> >with clearer views.
>> >
> I've definitely used the feature before and likely will again. That
> said I personally don't mind doing llvm-dis on a bc file before doing
> it.
>
> The main reason to keep some aspect of the functionality: It's the
> only way to be sure you're actually passing a bit of bitcode through
> the precise pipeline that clang has set up. :)
>
> -eric
>
So, I went ahead and wrote some tests to see if we can get some coverage.
The source manager struggles to map errors to source locations in binary
files, causing crashes:
Assertion failed: (Line && Col && "Line and column should start from
1!"), function translateFileLineCol, file
clang/lib/Basic/SourceManager.cpp, line 1597.
Other times the backend segfaults:
4 libLLVMBitReader.dylib 0x000000010efe0816
llvm::BitcodeReader::ParseBitcodeInto(llvm::Module*) + 62
5 libLLVMBitReader.dylib 0x000000010efe5b17
llvm::getLazyBitcodeModule(llvm::MemoryBuffer*, llvm::LLVMContext&) + 129
6 libLLVMBitReader.dylib 0x000000010efe5cba
llvm::parseBitcodeFile(llvm::MemoryBuffer*, llvm::LLVMContext&) + 44
7 libLLVMIRReader.dylib 0x000000010e09ad06
llvm::ParseIR(llvm::MemoryBuffer*, llvm::SMDiagnostic&,
llvm::LLVMContext&) + 190
8 libclangCodeGen.dylib 0x000000010df4412b
clang::CodeGenAction::ExecuteAction() + 395
9 libclangFrontend.dylib 0x000000010d83f139
clang::FrontendAction::Execute() +
So it looks like some engineering will be involved if we want to support
it as a first class feature.
I'll try to find a spare day or two to work on this if people really
want the feature I guess!
Alp.
--
http://www.nuanti.com
the browser experts
More information about the cfe-commits
mailing list