Apple stopped contributing changes back to GCC at the time when GCC switched license to GPLv3, many people think the timing is not a coincidence :)
They have continued to enhance GCC, but using their own copy of the GCC 4.2 code, which is GPLv2. Those enhancements have not been applied to later (GPLv3) versions of upstream GCC because it is FSF policy not to accept code without copyright-assignment.
The reason the changes are not in upstream GCC is because of FSF/GCC policy, not because of the GPL. The GPL allows anyone to take Apple's changes, port them to current GCC and release their own version of GCC. That "anyone" is not likely to be the FSF, because of the copyright assignment policy.
For the record, I think the copyright assignment policy is a good thing and I couldn't care less about ObjC support. If any ObjC users really want Apple's changes in a recent version of GCC they can merge them and release their own version.