This is the mail archive of the gcc@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: gcc-3.2 -MD -o misbehaviour


Martin Pool wrote:-

> The manual from Debian Sid's gcc-3.2 (3.2.1-0pre3) says
> 
>      If `-MD' is used in conjunction with `-E', any `-o' switch is
>      understood to specify the dependency output file (but *note
>      -MF::), but if used without `-E', each `-o' is understood to
>      specify a target object file.
> 
> But this doesn't happen:
> 
>     !1169 15:18 /tmp/test% ls -l
>     total 4
>     -rw-r--r--    1 mbp      mbp            76 2002-10-02 14:44 hello.c
>     !1171 15:18 /tmp/test% gcc-3.2 -MD -E -o hello.out hello.c
>     !1172 15:18 /tmp/test% ls -la
>     total 80
>     drwxr-xr-x    2 mbp      mbp          4096 2002-10-02 15:18 .
>     drwxrwxrwt   15 root     root        49152 2002-10-02 15:17 ..
>     -rw-r--r--    1 mbp      mbp            76 2002-10-02 14:44 hello.c
>     -rw-r--r--    1 mbp      mbp           536 2002-10-02 15:18 hello.d
>     -rw-r--r--    1 mbp      mbp         18019 2002-10-02 15:18 hello.out
> 
> Actually I'm glad, this doesn't work.  Overriding -o to specify the
> destination of dependency output seems needlessly complex since there
> is already -MF.  Personally I'd prefer you pull this out of the
> documentation rather than making -o actually specify the output file.

Yeah, it's a doc bug.  The behaviour of -M and -MD with or without -o
and/or -E is kinda complicated and is different for almost each case; but
I believe that gcc != 3.0.x all agree behaviour, and there is some kind
of coherent underlying logic though it may not be obvious.  I spent ages
with Chris Demetriou sorting this mess out.

Zack, could you have a go at fixing this?  I'm frozen out until I get
paperwork through the system.

Thanks,

Neil.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]