if-expression (?:) type propagation bug
Allow 0 as a null-pointer-constant in ?: expressions
Fix multiple qualifiers _to_str()
type_cmp_to_str()
type_cmp() compares all sub-qualifiers
if-expr correctly combine the left and right expr qualifiers
Annotated FIXMEs in if_exp_type.c
Qualified (void *)0 is not a null pointer constant
Qualified void * resolution in ?: takes the pointee qualifiers
Correctly qualify the void pointer when resolving ?:
Rearrange and alter ?: tests from the standard
Added CHECKs to ?: expression test
Moved if_exp_type to test2/
Added checks to if_expr_code_gen.c
Show phi logic for -fverbose-asm
if-expressions hook into the phi system

This fixes if expression code generation in some cases where up-casts
were needed. Currently a bit hacky for jumping across what are
essentially basic blocks - needs the basic block refactor.
Join with the short-circuit phi before we hit the bail label

The RHS of a short-circuit operation should leave it's value in the
correct place before we join with the LHS at the phi node.
Merge branch 'fix/if-expr-type'