[Bug driver/47236] New: Spaces introduced in option processing

bigotp at acm dot org gcc-bugzilla@gcc.gnu.org
Sun Jan 9 17:11:00 GMT 2011


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

           Summary: Spaces introduced in option processing
           Product: gcc
           Version: 4.6.0
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: driver
        AssignedTo: unassigned@gcc.gnu.org
        ReportedBy: bigotp@acm.org


The fix to #44076 causes options passed to language drivers to be split into
two arguments, a feature not present in previous versions.  

cat >xspecs <<EOSpec
.nc: @nesc

@nesc:
echo INVOKE: %{D*&U*&A*} 
EOSpec

echo "This is TEST" > foo.nc

gcc -specs=xspecs -DTEST foo.nc

With versions prior to revision 163770, this would produce output including:

INVOKE: -DTEST

As of that version, it now produces:

INVOKE: -D TEST

This breaks the nesC component-based compiler used for TinyOS, and possibly
other similar languages that leverage the gcc driver.  The space does not
appear to be introduced for built-in languages (viz., the parameter remains
-DTEST when passed to cpp for a C language file).

If this is intentional and to be fixed in the per-language driver, please
update the description of the specs language to describe the conditions under
which such canonicalization can occur.



More information about the Gcc-bugs mailing list