The easiest way to 'diff' such files would probably be to run each of them through the preprocessor and diff the result. I think there is an option (-b) to diff which ignores blanks (treats any series of blanks as a single blank) which should solve the indentation problem.