This is the mail archive of the gcc-patches@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: [patch, testsuite, committed] Clean up gfortran.dg leftover module files.


On Mon, Mar 26, 2007 at 10:28:40PM +0200, FX Coudert wrote:
>>There are still a lot of module files left over from running  
>>gfortran.fortran-torture, since (as Kaveh pointed out) that doesn't  
>>recognize dg-final directives.  I've got a patch that adds the  
>>directives, but not one for recognizing them yet....
>
>I'm wondering why we don't simply incorporate all these tests in the  
>gfortran.dg framework. It's rather easy to do, we just need to add  
>the compile tests a { dg-do compile } line, and the execution tests  
>both { dg-do run } and { dg-options "-w" }. There are a few special  
>cases (the execution tests associated to a .x file), but nothing too  
>difficult. We could even move them into subdirectory so we don't mix  
>everything.

Short of teaching dejagnu to automagically rm all .mod by scanning the
input for 'module [procedure] name', perhaps a quick script like the
attached would ease the handling of those?

Something for contrib/, perhaps?
Just a thought..

Sample output:
gfortran.dg$ ~/gfortran.dg-final.cleanup-mods.awk  *f *f90 *inc
Wrong encoding! sed -i -e 's/\x0D//g' actual_array_constructor_2.f90
[snip a handful of those]
Wrong encoding! sed -i -e 's/\x0D//g' used_types_4.f90
alloc_comp_basics_1.f90: no cleanup for module 'alloc_m'
assumed_charlen_function_1.f90: no cleanup for module 'integer_sets'
equiv_constraint_7.f90: no cleanup for module 'data'
error_recovery_1.f90: no cleanup for module 'gfcbug29_import'
func_derived_4.f90: no cleanup for module 'class_field'
interface_3.f90: no cleanup for module 'test_mod2'
keyword_symbol_1.f90: no cleanup for module 'blahblah'
sequence_types_1.f90: no cleanup for module 'data_types'
simpleif_2.f90: no cleanup for module 'read'
sed -i -e '/cleanup-modules/s/\("[[:space:]]*}\)/ \1/' actual_array_constructor_1.f90
sed -i -e '/cleanup-modules/s/\("[[:space:]]*}\)/ alloc_m\1/' alloc_comp_basics_1.f90
sed -i -e '/cleanup-modules/s/\("[[:space:]]*}\)/ integer_sets\1/' assumed_charlen_function_1.f90
sed -i -e '/cleanup-modules/s/\("[[:space:]]*}\)/ data\1/' equiv_constraint_7.f90
sed -i -e '/cleanup-modules/s/\("[[:space:]]*}\)/ gfcbug29_import\1/' error_recovery_1.f90
sed -i -e '/cleanup-modules/s/\("[[:space:]]*}\)/ class_field\1/' func_derived_4.f90
sed -i -e '/cleanup-modules/s/\("[[:space:]]*}\)/ test_mod2\1/' interface_3.f90
sed -i -e '/cleanup-modules/s/\("[[:space:]]*}\)/ blahblah\1/' keyword_symbol_1.f90
sed -i -e '/cleanup-modules/s/\("[[:space:]]*}\)/ data_types\1/' sequence_types_1.f90

The "Wrong encoding" and "no cleanup for module" go to stderr, so to
automatically append the missing modules to cleanup-modules, do >
/dev/null and eval the rest

Untested, so beware..
>
>Speaking of which: there's a gfortran.dg/g77 directory, but it looks  
>like the tests in it are never actually run when I do "make check- 
>gfortran". Is that expected?
>
>FX
>

Attachment: gfortran.dg-final.cleanup-mods.awk
Description: Text document


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