gcc eagerly instantiates the non-needed function