On 12 Apr 2010, at 23:24, Ian Lance Taylor wrote:

IainS <develo...@sandoe-acoustics.co.uk> writes:

what is the expected behavior of ?

%{.c|.cc|.for|.F90: foo }

.. as I read gcc/gcc.c I would expect to get "foo" for command lines
with files with these suffixes:
.c
.cc
.for
.F90

but not otherwise (since it says . binds more strongly than |) ;

That sounds right to me.  Do you see something different

yeah .. we use it in Darwin's dsymutil spec.

%{!fdump=*:%{!fsyntax-only:%{!c:%{!M:%{!MM:%{!E:%{!S:\
    %{.c|.cc|.C|.cpp|.cp|.c++|.cxx|.CPP|.m|.mm: \
%{gdwarf-2:%{!gstabs*:%{!g0: dsymutil %{o*:%*}%{! o:a.out}}}}}}}}}}}}"
    %{!A:%{!nostdlib:%{!nostartfiles:%E}}} %{T*} %{F*} }}}}}}}\n"


if you put "-lm" on the c/l dsymutil doesn't get called.

Almost as if ".m" was being treated as a regex rather than a suffix... (but I don't think that's the whole story).

and I find that if I put .for|.f90 etc it makes no difference to fortran getting debugged...

---
... if I take away the %{.c|.cc|.C|.cpp|.cp|.c++|.cxx|.CPP|.m|.mm: }

It all works as expected...

----

I looked at the code (briefly) that parses the %{ } but it needs some time to digest what's going on - so I thought asking would be a good plan ;-)

Iain

Reply via email to