As gcc-3 series doesn't support -march=native CFLAGS, compilation fails there.
If it was filtered then you wouldn't know it was wrong to use it.
Knowing your toolchain is quite essential to using Gentoo.
*** Bug 235482 has been marked as a duplicate of this bug. ***
*** Bug 266267 has been marked as a duplicate of this bug. ***
This isn't really invalid. Consider the case where you've just updated GCC. The new GCC supports a new (more appropriate) -march for you, so you update your make.conf and proceed to rebuild world. Unless you remove the old GCC from your system /before/ you rebuild world, it's going to break in the middle of compiling the old version of GCC, even though you're set the new version of GCC as default.
This is not invalid. Since most users today will have a primarily gcc-4.x system, they will want to specify in make.conf the appropriate CFLAGS available to them. If users want an older version of gcc, as I do, for non-portage building, but built by portage, the workaround is very silly: you have to edit make.conf, emerge gcc-3, and then revert to your original make.conf, since there is apparently no way to associate an alternative CFLAGS for a specific ebuild. This makes the gcc-3.x ebuilds useless to anyone who does not want to make it the system's primary compiler, but simply wants it available. (In reply to comment #2) > Knowing your toolchain is quite essential to using Gentoo. >