http://gcc.gnu.org/bugzilla/show_bug.cgi?id=48524
Summary: spec language does not cover switches with separated form Product: gcc Version: 4.6.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: driver AssignedTo: unassig...@gcc.gnu.org ReportedBy: dirtye...@gentoo.org Up until 4.6.0, we could write a simple spec rule for an arbitrary preprocessor definition like: %{!U_FORTIFY_SOURCE:-D_FORTIFY_SOURCE=2} -D and -U flags have both joined and separate forms and the above rule worked as long as the joined form was used. This was good enough for the most part, since the separate form is rare enough that I didn't even know it existed until now. As of 4.6.0, as outlined in PR47236, these flags are now regenerated in their canonical, separate, form for specs processing with the benefit that specs no longer have to handle the non-canonical cases. The problem we have though, is that there doesn't actually seem to be any way to write a spec rule for a switch substitution using the separated form, or at least any that I've found. The above rule no longer matches, and whitespace and wildcard characters don't seem to be allowed in switch names. I'd like to request that the spec language be extended to provide a way to match separate-form switches, which would restore the functionality we need. This is both an enhancement request and, in my point of view, a regression, since the loss of the ability to write specs matching preprocessor symbols has broken several of our projects in ways that would be very difficult to fix otherwise.