[cfe-commits] PATCH: Rough-cut auto-detection of a build directory location for the tooling framework

Arnaud A. de Grandmaison arnaud.allarddegrandmaison at parrot.com
Tue Jul 10 06:10:49 PDT 2012


Is it necessary for 'CompilationDatabase::autoDetectFromSource' to take
a sourcefile to seed the search, instead of using a directory ?

Using a directory would make this function more generic.

For example, in a plugin like clang_complete for vim, to find a
compilation database, you would do something like :
1 - autoDetectFromSource( basename(sourceFile) )
2 - if (no database for sourceFile or sourceFile not found in database)
           then autoDetectFromSource( getCwd() )

Cheers,

-- 
Arnaud de Grandmaison


On 07/10/2012 11:11 AM, Manuel Klimek wrote:
> Please take another look.
>
> On Tue, Jul 10, 2012 at 9:40 AM, Daniel Jasper <djasper at google.com> wrote:
>> I have tried using it by putting a symlink to compile_commands.json into my
>> llvm root and then use clang-check from within <llvm root>/tools/clang like
>> this:
>>
>> $ clang-check lib/Tooling/CompilationDatabase.cpp
>> LLVM ERROR: Error while opening JSON database: No such file or directory
>>
>> It works find if I supply the full path:
>> $ ~/clang/build/bin/clang-check $PWD/lib/Tooling/CompilationDatabase.cpp
>> Processing:
>> /home/djasper/clang/llvm/tools/clang/lib/Tooling/CompilationDatabase.cpp.
>>
>> So, it does not go up the directory tree far enough, as the
>> Directory.empty() will be true before my symlink  is reached. Can this be
>> added? And can you add a test for such a case?
>>
>>   +++ tools/clang/lib/Tooling/CompilationDatabase.cpp (working copy)
>>   ...
>>   +#include "llvm/Support/raw_ostream.h"
>>
>> I don't think you need this new include.
>>
>>
>> On Mon, Jul 9, 2012 at 5:49 PM, Alexander Kornienko <alexfh at google.com>
>> wrote:
>>> Adds the CompilationDatabase::autoDetectFromSource method for supporting
>>> build directory auto-detection for simple setups.
>>>
>>> --
>>> Regards,
>>> Alexander
>>>
>>> _______________________________________________
>>> cfe-commits mailing list
>>> cfe-commits at cs.uiuc.edu
>>> http://lists.cs.uiuc.edu/mailman/listinfo/cfe-commits
>>>
>>
>> _______________________________________________
>> cfe-commits mailing list
>> cfe-commits at cs.uiuc.edu
>> http://lists.cs.uiuc.edu/mailman/listinfo/cfe-commits
>>





More information about the cfe-commits mailing list