Sorry, I know this is going to get me in trouble but I just have to say/correct 2 things (I did put a warning in the topic title.)
1: FB does *not* yet use gcc as a backend, that's planned, but could take a very very long time. For now FB only emits x86 ASM.
2: You can do strings in IIF with a simple user-defined macro:
#define anyTypeIIf( cond, t, f ) *iif( cond, @t, @f )
dim as string true = "true", false = "false", x
x = anyTypeIIf( 2 < 3, true, false )
Easy as cake.