Since 1.5 or 2 years ago, Keil only uses the ARMCLANG compiler (compiler 6 in arm parlance, which is based on clang). Before that, Keil offered both ARMCLANG and ARMCC (compiler 5 in arm lingo, based on gcc). ARMCC in now deprecated.
I'm still confused about the screen capture of the Cube. The .text and .data sections reported, are for the whole app or only for the snprintf module? On the same screenshot, the used Flash is 16.88 KB, much bigger than .text+.data. I do know that the Keil reported sizes are for the whole app.
In my experience, ARMCLANG uses to do a better job generating smaller executables than ARMCC. In fact I spent some weeks (about 2 years ago) porting many in-house programs to ARMCLANG because of that. In turn, my experience using gcc with arm always resulted in bigger Flash consumption, although my experience with gcc on arm is not big.