try to compile any erroneous C file (let's call it t.c) with

gcc -pipe -c -ot.o t.c

and gcc doesn't remove the half-generated t.o file.
Note that there's no space between -o and the output filename (and the -pipe is
necessary).
(the manual says that there should be a space between -o and the output
filename. However, everything works fine without it - except this)

straceing gcc reveals the cause of the problem: before exit, gcc stats '-ot.o',
not 't.o' - it thinks that the object file doesn't exist.

gcc version 4.0.2 20050725 (prerelease) (Debian 4.0.1-3)
but this problem exists in 3.3 and 3.4 too

-- 
           Summary: gcc doesn't remove half-written object file when
                    compiling fails
           Product: gcc
           Version: 4.0.2
            Status: UNCONFIRMED
          Severity: minor
          Priority: P2
         Component: c
        AssignedTo: unassigned at gcc dot gnu dot org
        ReportedBy: hg211 at ural2 dot hszk dot bme dot hu
                CC: gcc-bugs at gcc dot gnu dot org
GCC target triplet: i486-linux-gnu


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

Reply via email to