Remove components.push from CppMangleVisitor::substitute
Replace CppMangleVisitor::exist with CppMangleVisitor::substitute
Return early if substitute found, remove nesting level.
Merge pull request #3121 from ibuclaw/subsitute

Fix CppMangleVisitor::substitute and Remove CppMangleVisitor::exist
Remove Identifiers that are no longer referenced
fix Issue 11944 - ICE(expression.c) Assertion `f' failed.
Merge pull request #3125 from 9rnsr/fix11944

Issue 11944 - ICE(expression.c) Assertion `f' failed.
Fix Issue 11955 - Aliased types not accepted in foreach over range of tuple

Run semantic on the type before attempting implicit conversions.
Merge pull request #3127 from yebblies/issue11955

Issue 11955 - Aliased types not accepted in foreach over range of tuple
Merge pull request #3124 from yebblies/deadid

[cleanup] Remove Identifiers that are no longer referenced