This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: Add fuzzing coverage support


On 12/02/2015 05:55 PM, Dmitry Vyukov wrote:
Can you point to some concrete coding style violations (besides
function comments)?

  	      (flag_sanitize & (SANITIZE_ADDRESS | SANITIZE_THREAD \
-				| SANITIZE_UNDEFINED | SANITIZE_NONDEFAULT)))
+				| SANITIZE_UNDEFINED | SANITIZE_NONDEFAULT) \
+			|| flag_sanitize_coverage))

The || should line up with the other condition (i.e. the part starting with flag_sanitize).

+unsigned sancov_pass (function *fun)

Split the line after the return type.

+
+template<bool O0>
+class pass_sancov : public gimple_opt_pass
+{

This seems to be a new idiom but I find it OK. One thing to consider would be whether you really need this split between O0/optimize versions, or whether you can find a place in the queue where to insert it unconditionally. Have you considered this at all or did you just follow asan/tsan?

+public:
+  static pass_data pd ()
+  {
+    static const pass_data data =

I think a static data member would be better than the unnecessary pd () function. This is also unlike existing practice, and I wonder how others think about it. IMO a fairly strong case could be made that if we're using C++, then this sort of thing ought to be part of the class definition.


Bernd


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]