1. 08 4月, 2009 1 次提交
    • L
      Fix build errors due to CONFIG_BRANCH_TRACER=y · aeeae868
      Linus Torvalds 提交于
      The code that enables branch tracing for all (non-constant) branches
      plays games with the preprocessor and #define's the C 'if ()' construct
      to do tracing.
      
      That's all fine, but it fails for some unusual but valid C code that is
      sometimes used in macros, notably by the intel-iommu code:
      
      	if (i=drhd->iommu, drhd->ignored) ..
      
      because now the preprocessor complains about multiple arguments to the
      'if' macro.
      
      So make the macro expansion of this particularly horrid trick use
      varargs, and handle the case of comma-expressions in if-statements.  Use
      another macro to do it cleanly in just one place.
      
      This replaces a patch by David (and acked by Steven) that did this all
      inside that one already-too-horrid macro.
      Tested-by: NIngo Molnar <mingo@elte.hu>
      Cc: David Woodhouse <dwmw2@infradead.org>
      Cc: Steven Rostedt <rostedt@goodmis.org>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      aeeae868
  2. 07 4月, 2009 39 次提交