remove compiler-dependent complex code
Merge pull request #2733 from WalterBright/merge-complex

remove compiler-dependent complex code