It tells you in the Changes file which versions of what to use. Most of the software it refers to has to be the version they list or higher. Except for gcc it recommends that you stick closely to the version they recommend.
Like here is what it says in my Changes for 2.6.8.
The gcc version requirements may vary depending on the type of CPU in your
computer. The next paragraph applies to users of x86 CPUs, but not
necessarily to users of other CPUs. Users of other CPUs should obtain
information about their gcc version requirements from another source.
The recommended compiler for the kernel is gcc 2.95.x (x >= 3), and it
should be used when you need absolute stability. You may use gcc 3.0.x
instead if you wish, although it may cause problems. Later versions of gcc
have not received much testing for Linux kernel compilation, and there are
almost certainly bugs (mainly, but not exclusively, in the kernel) that
will need to be fixed in order to use these compilers. In any case, using
pgcc instead of plain gcc is just asking for trouble.
The Red Hat gcc 2.96 compiler subtree can also be used to build this tree.
You should ensure you use gcc-2.96-74 or later. gcc-2.96-54 will not build
the kernel correctly.
In addition, please pay attention to compiler optimization. Anything
greater than -O2 may not be wise. Similarly, if you choose to use gcc-2.95.x
or derivatives, be sure not to use -fstrict-aliasing (which, depending on
your version of gcc 2.95.x, may necessitate using -fno-strict-aliasing).
I've compiled 2.4 kernels with gcc version 3.3.5 and never had any problems that I could tell. The system was solid as a rock. However, it's probably better to stick to their recommendation. Afterall, whoever is writing that, is telling us this for a reason. I suspect their reasoning is that the "recommended" gcc version is the one in which they've coded in mind for. There's the possibility for some subtle changes in newer versions of gcc, as well as some unknown bugs that may interact somehow in a manner that may not end up being good. The bottom-line is they're probably telling us all of that because their recommended version is proven and what has been tested against extensively. Other versions of gcc is going into the unknown. May not have problems with some other version, but on the other hand, you might and there isn't really any sort of well tracked and documented testing with them, that I know of. If in doubt, go with the recommendations of the people who have spents many man hours already taking on the headaches for us (kernel devs and/or your distro).
Even though in my case my build went without a hitch, and my system seems rock solid, I still have my reservation about using a non-recommended version of gcc to build with. In the back of my mind I wonder if there is the possibility for there to be some issues that don't make themselve's very known. For instance, features of the kernel being semi-broken in operation that it goes under the radar and allows bad things to creep up. In other words, the very subtle bugs that could be introduced that could have been avoided. This I don't know, but it doesn't seem like it's out of the realm of possibilities to me.
You should check your Changes file to see what they specifically recommend. It may also be a good idea to check and see what your distro recommends if you're compiling a kernel that is their sources. It's actually probably best to follow your distro's recommendation if that is the case. I guess which recommendation to go with is who you put more stock on being more accurate with their facts. However, there may be some "gotchas" that the distro people know about that is specific to their tweaks that may not be an issue to the same version of vanilla kernel.
I just tend to put more stock on distro and the kernel devs recommendations over my own judgement since they've had alot more people testing things than just one person (me).