title: C++ macro defined using do while causing error
body: <p>I have two pieces of code I need to make running. (No, I am not allowed to change either of them). </p>
  
  <p>First piece defines a macro </p>
  
  <pre><code>#define MACRO do { /* stuff in multiple lines and do not return a value */ } while (0)
  </code></pre>
  
  <p>Second piece uses another macro in an <code>if</code> statement</p>
  
  <pre><code>if (ANOTHER_MACRO) { /* do some stuff */ }
  </code></pre>
  
  <p>I need to make <code>ANOTHER_MACRO</code> use <code>MACRO</code> and I am allowed to define <code>ANOTHER_MACRO</code>.</p>
  
  <p>I thought an <code>inline</code> function would be the right way to do it, but neither by using macros nor by using <code>inline</code> functions I could get it work. Any suggestions?</p>