I would think a GPS would have the functionality you are looking for...
No GPS does not have that functionality. He wasn't asking for autonomous flight (which I just mentioned).
GPS is just one of sensors, only used for autonomous flights in combination. All hardware I ever played with always combined GPS with other sensors, as GPS alone has accuracy within meters of error, so you need other well calibrated sensors to correct it.
It is true that mentioned
Altitude Hold does not require INS13 (EKF) and autonomous flight capabilities, it can be set as Thrust mode even with Complementary. I often fly like that, but
not with CC3D.
So far (16.09) this would work on all supported flight controllers (FC) with STM32-F4 chip, maybe F3 as well in future. However CC3D is based on F1 chip which due to limited RAM does not even use drivers for Mag and Baro.
Other firmware might have less features and be simpler written/designed (not
event based) but loop based. So might have Mag+Baro functionality hacked in some way. Despite CC3D is great FC for racing, I wouldn't use it for anything else.
It is just cheaper to buy F4 based FC with all sensors then to hack around with CC3D that has less memory if you want more then just racing.