Fix a bunch of clang warnings.

- Using struct consistently for ExpressionBase.
- Correct guard name.
Merge pull request #4156 from ktf/fix-clang-warnings

Fix a bunch of clang warnings.