Issue 11616 - Introduce virtual keyword

Introduce the virtual keyword
fix Issue 12243 - "ICE: cannot append 'char' to 'string'" with -inline
Merge pull request #3334 from 9rnsr/fix12243

[REG2.065] Issue 12243 - "ICE: cannot append 'char' to 'string'" with -inline
Merge pull request #2895 from yebblies/issue11616

Issue 11616 - Introduce virtual keyword