2013-12-22 84 views
2

當我查看LLVM和叮噹聲代碼庫時,我看到了我似乎無法得到的各種命令行選項。例如,AliasAnalysisCounter.cpp裏面我看到:如何獲取clang中描述的所有命令行選項?

static cl::opt<bool> 
PrintAll("count-aa-print-all-queries", cl::ReallyHidden, cl::init(true)); 
static cl::opt<bool> 
PrintAllFailures("count-aa-print-all-failed-queries", cl::ReallyHidden); 

當我嘗試在他們的命令行來獲得:

~ robertzeh$ clang++ -count-aa-print-all-failed-queries foo.c 
clang: warning: treating 'c' input as 'c++' when in C++ mode, this behavior is deprecated 
clang: warning: argument unused during compilation: '-count-aa-print-all-failed-queries' 

鐺版報道:

~ robertzeh$ clang++ --version 
Apple LLVM version 5.0 (clang-500.2.79) (based on LLVM 3.3svn) 
Target: x86_64-apple-darwin12.5.0 

什麼我做錯了還是誤解?

回答

1

您不能訪問定義的選項直接進行各種轉換。嘗試做clang++ -mllvm -count-aa-print-all-failed-queries foo.c

2

一個好地方,窺探選項鐺(司機)和鐺cc1(前端)接受的是:

  • include/clang/Driver/Options.td
  • include/clang/Driver/CC1Options.td
+0

這是一個很好的地方可以看到頂級選項,但是如何使用我看到的分散在各種變換通道中的那些? – razeh

相關問題