gcc was first released in 01987, but it didn't replace its bison parser for c until gcc 4.1
https://gcc.gnu.org/gcc-4.1/changes.html which was in 02006
https://gcc.gnu.org/releases.html, only 18 years ago, and 19 years after it was released. joseph myers first proposed doing this in 02004
https://gcc.gnu.org/legacy-ml/gcc-patches/2004-10/msg01969.h...so gcc has literally been using a parser-generator-generated parser for c for more than half its existence, at which point it had already become the most popular c compiler across the unix world and basically the only one used for linux, which had already mostly annihilated the proprietary unix market. it was also imposingly dominant in the embedded space
and i think that kind of development path is fairly typical; getting a parser up and running is easier with a parser generator, but it can be tricky to get it to do strange things when that's what you want (especially with lalr, less so with peg)