[SOLVED] Arduino IDE 1.01 preprocessor commands

This a known artifact of the way that the Arduino IDE processes source files. It goes through your code and puts function declarations after what it considers to be the first executable statement in your file.
You have:

#if SQUELCH
  int potPin = A0; // select the input pin for the potentiometer
#endif

It puts the declarations after the declaration of potPin. The problem is that it does that even if potPin is inside an #ifdef that is not included.
The easy workaround is to put a statement like this:

char junk;

before anything else.

Pete