title: why isn't gcc passing macro value from the command line?
body: <p>I'm trying to pass the value of a C macro to the preprocessor with the -Dmacro=value option of gcc. However, it doesn't do what i expect. This is the basics of my code:</p>
  
  <pre><code>#define T0 0
  #define T1 0
  #define T2 0
  #define T3 0
  
  int main(){
  
      int f[9];
  
      start(f[T0], f[T1], f[T2], f[T3]);
  
      return 0;
  }
  </code></pre>
  
  <p>Running <code>gcc -DT3=1 -E</code> shows the preprocessor does not replace the original value of T3. What am i missing, and how can the value be passed properly? </p>