http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49858

           Summary: lost ability to use driver for external language
                    support?
           Product: gcc
           Version: 4.7.0
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: driver
        AssignedTo: unassig...@gcc.gnu.org
        ReportedBy: big...@acm.org


The nesC compiler at http://sourceforge.net/projects/nescc/ has historically
used a host/target gcc driver to process its files by using an wrapper driver
that invokes the target gcc with a -specs option defining a suffix-spec pair
describing how to translate its source files.

The documentation at http://gcc.gnu.org/onlinedocs/gcc/Spec-Files.html suggests
that this practice, as shown below, is a legitimate use of the driver:

.nc:
perl -S nesc-compile %{_*} %{m*} %{D*&U*&A*} %{H} %{I*} %{undef} %{trigraphs}
%{i*} %{nostdinc} %{a*} %{g*} %{O*} %{W*} %{w} %{S} %{pedantic*} %{std*}
%{ansi} %{traditional} %{v} %{p*} %{f*}
%{!fsyntax-only:%{!fnesc-cfile=*:%{!_fnesc-cfile=*:-fnesc-tmpcfile=%g.c}}
%{S:%W{o*}%{!o*:-o %b.s}}%{!S:%{c:%W{o*}%{!o*:-o %w%b%O}}%{!c:-o %d%w%u%O}}}
%{fsyntax-only:-o %j} %{-param*} %i -_ASM %Y

The change in commit 171307 rejects the options formerly allowed by this spec
string:

gcc: error: unrecognized command line option ‘-_fnesc-include=nesc_nx’

The wildcard spec string %{_*} no longer allows these options. Explicitly
adding %{_fnesc-include=*} didn't work either.

Is there a mechanism by which the driver can be informed of options that it
should allow in this situation, given that the list of these options is not
known at the time the driver is compiled?

Reply via email to