Macro typeof for llvm and gcc.