On Fri, Dec 4, 2015 at 2:45 PM, Yury Gribov <y.gri...@samsung.com> wrote: > On 12/04/2015 04:41 PM, Jakub Jelinek wrote: >> >> Hi! >> >> While this has been posted after stage1 closed and I'm not really happy >> that it missed the deadline, I'm willing to grant an exception, the patch >> is small enough that it is ok at this point of stage3. That said, next >> time >> please try to submit new features in time. >> >> Are there any plans for GCC 7 for the other -fsanitize-coverage= options, >> or are those just LLVM alternatives to GCC's gcov/-fprofile-generate etc.? >> >> On Thu, Dec 03, 2015 at 08:17:06PM +0100, Dmitry Vyukov wrote: >>> >>> +unsigned sancov_pass (function *fun) >> >> >> Formatting: >> unsigned >> sancov_pass (function *fun) >> >>> +{ >>> + basic_block bb; >>> + gimple_stmt_iterator gsi; >>> + gimple *stmt, *f; >>> + static bool inited; >>> + >>> + if (!inited) >>> + { >>> + inited = true; >>> + initialize_sanitizer_builtins (); >>> + } >> >> >> You can call this unconditionally, it will return as the first thing >> if it is already initialized, no need for another guard. >> >>> + >>> + /* Insert callback into beginning of every BB. */ >>> + FOR_EACH_BB_FN (bb, fun) >>> + { >>> + gsi = gsi_after_labels (bb); >>> + if (gsi_end_p (gsi)) >>> + continue; >>> + stmt = gsi_stmt (gsi); >>> + f = gimple_build_call (builtin_decl_implicit ( >>> + BUILT_IN_SANITIZER_COV_TRACE_PC), 0); >> >> >> I (personally) prefer no ( at the end of line unless really needed. >> In this case you can just do: >> tree fndecl = builtin_decl_implicit >> (BUILT_IN_SANITIZER_COV_TRACE_PC); >> gimple *g = gimple_build_call (fndecl, 0); >> which is same number of lines, but looks nicer. >> Also, please move also the gsi, stmt and f (better g or gcall) >> declarations to the first assignment to them, they aren't used outside of >> the loop. > > > Also FYI clang-format config has been recently added to contrib/ > (https://gcc.gnu.org/ml/gcc-patches/2015-11/msg02214.html).
Rock-n-roll! Applied to sancov.c