This is important because in a later patch, we will allow host
device functions to be overloaded with host / device
functions with the same signature, and we don't want a naming conflict
in this case.
Based on changes from http://reviews.llvm.org/D12453?vs=on&id=33483.
According to http://mentorembedded.github.io/cxx-abi/abi.html#mangling-type, order-insensitive attributes should be sorted into *reverse* alphabetic order (alphabetically-first goes nearest to the base type).
Given that enable_if is order-sensitive but host and device are not, I'm not really sure what the Itanium ABI expects us to do here regarding their relative order. John?