Current gcc spec lists some build requirements, but not all. For example, it is missing BuildRequires: bison, flex
Another one of those: m4 - bison tries to invoke m4 when gcc is being compiled. Not sure if gcc needs a "BuildRequires: m4", or bison needs a "Requires: m4"...
Yet another one - autoconf.
Oh, and also - compiling gcc on x86_64 requires _both_ x86_64 _and_ i[36]86 versions of glibc-devel. Not sure if this is expressable via the BuildRequires.
There are some requirements which are implicit (like gcc, autoconf, glibc-devel, sh, make, awk, sed, ...). It would be absurd to list all of that, it would have to be added to every single package. As for bi-arch devel environment requirement on amd64, ppc, ppc64, s390x - there is really no way to express that, but it should be installed always as well. flex and bison have been added.