On Sat, Nov 26, 2016 at 07:03:34AM +0000, Wang Nan wrote:
Add basic clang support in clang.cpp and test__clang() testcase. The...
first testcase checks if builtin clang is able to generate LLVM IR.
tests/clang.c is a proxy. Real testcase resides in
utils/c++/clang-test.cpp in c++ and exports C interface to perf test
subsystem.
Test result:
$ perf test -v clang
51: Test builtin clang support :
51.1: Test builtin clang compile C source to IR :
--- start ---
test child forked, pid 13215
test child finished with 0
---- end ----
Test builtin clang support subtest 0: Ok
Signed-off-by: Wang Nan <wangnan0@xxxxxxxxxx>
+static CompilerInvocation *why such limits?
+createCompilerInvocation(StringRef& Path, DiagnosticsEngine& Diags)
+{
+ llvm::opt::ArgStringList CCArgs {
+ "-cc1",
+ "-triple", "bpf-pc-linux",
+ "-fsyntax-only",
+ "-ferror-limit", "19",
+ "-fmessage-length", "127",
+ "-O2",
+ "-nostdsysteminc",
+ "-nobuiltininc",
+ "-vectorize-loops",
+ "-vectorize-slp",
why above two flags are needed?They are inherited from samples/bpf/Makefile to suppress some warning
+ "-Wno-unused-value",these two -Wno makes sense. please add the comment to explain the reasons.
+ "-Wno-pointer-sign",