klimek added a comment.

In https://reviews.llvm.org/D34440#808156, @vladimir.plyashkun wrote:

> **To discuss:**
>  This patch is required for correct integration //Clang-Tidy// with //CLion 
> IDE//.
>  By this moment, we unable to use //CompilationDatabase.json// from //CLion 
> //side which is widely used in //Clang-Tidy// and in other common tools.
>  Anyway, there are possibility to pass compiler options directly through 
> command line.
>  But we cannot pass compiler options directly through command-line, due to 
> command-line-length restrictions.
>  So, we decided to pass compiler options through //@ResponseFile //mechanism.
>  But there are some problems with this approach.
>  Before this patch, ///clang/lib/Tooling/CommonOptionsParser.cpp// worked in 
> this way:
>
> 1. Load compilation database from command-line
> 2. Expand response files
> 3. Parse all other command line arguments I think it's strange behavior? Why 
> we try to load compilation database first? Maybe it's better to expand 
> response files and only after that try to load compilation database and parse 
> another options? It's hard to refactor //cl::ParseCommandLineOptions// and 
> //cl::ExpandResponseFiles// functions, due to high number of usages, so i 
> copied some block directly into 
> ///clang/lib/Tooling/CommonOptionsParser.cpp// I don't think that is a best 
> solution, but i don't have another one.


I don't fully understand the problem yet, especially what you mean with "expand 
response files first".
Generally, the fixed-compilation-db mechanism is there so you can pass a single 
command line that will be used by all translation units - the response files in 
that command line would be expanded each time we run a tool on some TU. That 
seems in line with the design.
Can you post an example of what you're trying to do and what error message you 
get?


Repository:
  rL LLVM

https://reviews.llvm.org/D34440



_______________________________________________
cfe-commits mailing list
cfe-commits@lists.llvm.org
http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

Reply via email to