I think you forgot to remove the second condition. if (FTI.NumArgs > 0 && D.getContext() != Declarator::ConditionContext) { You already have this check "D.getContext() == Declarator::ConditionContext" few lines above. Thanks for the quick reviews and your patience.