void a() { __complex__ int arr; __complex__ short brr; arr*brr; } Crashes clang -fsyntax-only. Looks like Sema::UsualArithmeticConversions isn't expecting integral complex numbers. (Obviously a GCC extension, but since clang supports it, it should work.) -Eli