I do use GCC toolchain and very happy with it
I hate gcc and everything comes from GNU (including emacs and gdb), in first place G-boys& their friends are not good programmers, these dudes too often do "jerk child code" with too much complexity, which is too ugly to be supported (pay me to see their sources, I am horrified)
I am a gentoo/MIPS supporter, I have a lot of troubles with gcc, e.g. just to tell you the last maleficent, I am supporting an old SGI machine and I had to switch to gcc 5.2, which is currently "experimental" (it means not included in the gentoo portage, the last available is gcc v4.9), because the atomic-functions were not working as expected for R12K CPUs
in short the whole SMP, and the whole userland, was crashing up and I needed a lot of pills because the compiler is a @#@$@ crap!
I have fixed the jam just switching to v5.2 (which means ... opening an overlay, invoking crossdev, forcing a new cross compiler, fixing it ... 5 days of over work and blasphemy) and recompiling everything in the right way: I have now a working SMP plus a working uclibc-stage4, I am completed, but … I still HATE their compiler!
Have you ever seen inside gcc source code ? My friend's softcore does not handle unaligned memory access, so I had to manually patch gcc to force it to avoid unaligned memory access, it's a piece of cake with LLVM, while it was a nightmare with gcc!!! It took 8 days of blasphemy!
and do I have to tell you what happened with gcc v4.1 on HPPA v2 ? I remember when applications compiled by gcc -O2 took their branches (if (condition) then else) in randomly way because the compiler had a bug! It took 3 month of blasphemy, because I was not sure that the problem was the compiler (I was used to trust it, so I was looking into different direction, including hardware failures in ram)
in short, don't say "gcc" for job-tasks
I do hate Keil.
I hate their IDE, but everything else (including their support and assistance) is more than comfortable (and they are very kind on the phone)