C++ what for? For object programming ?
C++ is useless to firmware coding.
ANSI C maybe it depend of what is given by those guy that patent a standards of writing.
It is like a motherboard with has a reference construction made by a chipset vendor and it is only changed by corporations (ASUS,Epox,Abit etc) to suit it requirements.
Some of very importatn sections I beleve is written in ASM which is the best language to program any device -> what you programm it will work as you coded. Not depend on witch compilator you have and/or version of compiler.
I program some of devices (Atmel processors) and very rarely use a C to write a firmware. Only on alarm-centrall I use it because I must finish quickly