Tweak function scope marking to be more resiliant to preprocessor stuff. Also mark the default args in a constructor.
Add preproc scope for preprocessor stuff