This is the mail archive of the 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: [Patch, Fortran] PR 38248 - don't silently fail if unlink/rename fails

On Mon, Nov 24, 2008 at 3:22 PM, Steve Kargl
<> wrote:
> On Tue, Nov 25, 2008 at 12:04:05AM +0100, Tobias Burnus wrote:
>> Steve Kargl wrote:
>> > On Mon, Nov 24, 2008 at 05:54:49PM +0100, Tobias Burnus wrote:
>> >
>> >> +      if (unlink (filename))
>> >> +  gfc_fatal_error ("Can't delete module file '%s': %s", filename,
>> >>
>> > Why gfc_fatal_error instead of gfc_error or gfc_error_now?
>> >
>> Frankly, I don't mind that much whether it is an error_now or a fatal
>> error; however, I think gfc_fatal_error is OK since not able too write a
>> file is rather bad and can lead to strange errors afterwards. (At least
>> I often prefer to see the big error first without needing to dig through
>> parenthesis diagnosts (due to changed .mod format) and other misleading
>> error messages.)
>> But if you think gfc_error_now is superior, I can change it before
>> submittal.
> I have no objection to gfc_fatal_error.  I was just curious,
> because gfortran doesn't use gfc_fatal_error very often.

It breaks libgomp:

[hjl@gnu-33 libgomp]$
-B/usr/local/x86_64-unknown-linux-gnu/lib/ -isystem
/usr/local/x86_64-unknown-linux-gnu/include -isystem
/usr/local/x86_64-unknown-linux-gnu/sys-include  -m32 -g -O2 -Wall
-m32 -fsyntax-only omp_lib.f90
Fatal Error: Can't delete module file 'omp_lib_kinds.mod': No such
file or directory
[hjl@gnu-33 libgomp]$ ls
affinity.lo    env.lo        libgomp.spec  omp_lib.h           single.lo
affinity.o     env.o         libtool       omp_lib_kinds.mod0  single.o
alloc.lo       error.lo      lock.lo       ordered.lo          stamp-build-info
alloc.o        error.o       lock.o        ordered.o           stamp-h1
bar.lo         fortran.lo    loop.lo       parallel.lo         task.lo
bar.o          fortran.o     loop.o        parallel.o          task.o
barrier.lo     gstdint.h     loop_ull.lo   proc.lo             team.lo
barrier.o      iter.lo       loop_ull.o    proc.o              team.o
config.cache   iter.o        Makefile      ptrlock.lo          testsuite
config.h       iter_ull.lo   multilib.out  ptrlock.o           time.lo
config.log     iter_ull.o    mutex.lo      sections.lo         time.o
config.status  libgomp_f.h   mutex.o       sections.o          work.lo
critical.lo  omp.h         sem.lo              work.o
critical.o    omp_lib.f90   sem.o
[hjl@gnu-33 libgomp]$


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