My opinion is worthwile, because you spoke about GCC and I correctly assumed you used Linux for it.
(there are very few projects on Windows that use GCC on Windows, given that MSVC is free for use now (even if its licence is not free/libre and its source not open), and well supported. And there are many other compilers on Windows. Most projects for Windows use Microsoft of Intel compilers (Intel compilers can be used as a backend integrated in the Dev Studio, which itself is now also free, but Intel compilers are among the best optimizing ones, but their licence is quite costly).
GCC on Windows is quite badly supported, it's compiled intself in an informal process like Mingw, which has lot of issues. And now that Windows 10 supports a native Linux environment (from Ubuntu), I think that when you speak about GCC on Windows, actually you use GCC on Ubuntu for Windows (that Microsoft initially called "Bash for Windows".. but its name is changing regularly, even if Microsoft really admits that its development is shared between Microsoft and Ubuntu that have cooperated to make adjustments in the Windows kernel to make better support of the Linux APIs, improve the security and compatiblity, including in core components like the console host, multithreading and scheduling, memory models, event queues, and filesystem support... for various things, this lead to patches being developped for Linux itself to debug some of its components and reduce the overhead of hypervisors like Hyper-V or others, that are now also better supporting Linux VMs and Windows VM concurrently, with these VMs being also easier to migrate between hypervisors based on Linux, Windows, or other systems).
With virtualization of OSes in rapid progress now, the underlying OS will no longer matter (except for performance or security goals). But today, security is a major need because of severe impacts of bugs (and performance is no longer a problem, and even storage space or memory resources is less critical: we have tons of them at cheap price). All developers now want compielrs that help them secure their code. A lot of them have abandoned C, and prefered working with much more managed or scripting languages (Java, Python, _javascript_, even PHP) because they offer wide advantages (and are much easier to deploy and scale on many more platforms, rather than being "optimized" for a static architecture: JIT compilers, or install-time compilers now frequently offer better performance at run time on the final target host than statically compiled C code which may be perfect on a given machien, but not optimized at all on another: this explains the success of Java, C#, _javascript_; the other reason is the mobile development, for Java-based VMs on Android and iOS).
And there is now a valid use of C compilers that no longer target a native machine code, but a virtual "bytecode" machine: the program will be recompiled to native on the final target host at deployment time, or with JIT compilers. And the final performance is good everywhere.