gcc and clang currently do not have a consistent ABI
for half precision types. Passing aggregate args containing half precision
types between clang and gcc can cause UB.
This patch adds an option -fhip-allow-half-arg. When off, clang
will diagnose aggregate arguments containing half precision
types in host functions.
Nit: Maybe simplify it to Allow using half precision types in host function parameter and return types.
Also, this issue would technically affect CUDA, too, so GPUAllowHalfArg might work better.