Found a way to combine strings cheaply.

Added C11 and -m16 support (-m16 is introduced with the latest version
of gcc)