fixed issue with parsing empty macro bodies, added warning for unused macro parameters