+2011-08-02 Tobias Burnus <burnus@net-b.de>
+
+ * trim_optimize_5.f90: Remove spurious "use foo".
+ * actual_array_vect_1.f90: Fix or add dg-final cleanup-module
+ * alloc_comp_assign_7.f90: Ditto.
+ * allocatable_function_5.f90: Ditto.
+ * allocate_stat.f90: Ditto.
+ * array_constructor_20.f90: Ditto.
+ * array_constructor_21.f90: Ditto.
+ * array_constructor_22.f90: Ditto.
+ * array_constructor_26.f03: Ditto.
+ * array_function_4.f90: Ditto.
+ * assumed_charlen_function_1.f90: Ditto.
+ * assumed_size_dt_dummy.f90: Ditto.
+ * bind_c_usage_15.f90: Ditto.
+ * bind_c_usage_16.f03: Ditto.
+ * bind_c_usage_3.f03: Ditto.
+ * binding_label_tests_7.f03: Ditto.
+ * class_15.f03: Ditto.
+ * class_27.f03: Ditto.
+ * class_33.f90: Ditto.
+ * class_37.f03: Ditto.
+ * class_40.f03: Ditto.
+ * class_42.f03: Ditto.
+ * class_defined_operator_1.f03: Ditto.
+ * coarray/registering_1.f90: Ditto.
+ * convert_1.f90: Ditto.
+ * default_initialization_3.f90: Ditto.
+ * dependency_25.f90: Ditto.
+ * dependency_26.f90: Ditto.
+ * dependency_36.f90: Ditto.
+ * dependency_37.f90: Ditto.
+ * derived_array_intrinisics_1.f90: Ditto.
+ * dynamic_dispatch_10.f03: Ditto.
+ * elemental_non_intrinsic_dummy_1.f90 |: Ditto.
+ * elemental_pointer_1.f90: Ditto.
+ * elemental_result_1.f90: Ditto.
+ * empty_derived_type.f90: Ditto.
+ * entry_7.f90: Ditto.
+ * entry_dummy_ref_2.f90: Ditto.
+ * equiv_constraint_3.f90: Ditto.
+ * error_recovery_3.f90: Ditto.
+ * extends_4.f03: Ditto.
+ * func_assign.f90: Ditto.
+ * func_assign_3.f90: Ditto.
+ * generic_1.f90: Ditto.
+ * generic_18.f90: Ditto.
+ * generic_22.f03: Ditto.
+ * generic_4.f90: Ditto.
+ * generic_6.f90: Ditto.
+ * generic_actual_arg.f90: Ditto.
+ * graphite/id-21.f: Ditto.
+ * graphite/pr45758.f90: Ditto.
+ * host_assoc_call_2.f90: Ditto.
+ * host_assoc_call_3.f90: Ditto.
+ * host_assoc_call_4.f90: Ditto.
+ * host_assoc_function_4.f90: Ditto.
+ * host_used_types_1.f90: Ditto.
+ * implicit_1.f90: Ditto.
+ * implicit_11.f90: Ditto.
+ * implicit_derived_type_1.f90: Ditto.
+ * impure_actual_1.f90: Ditto.
+ * impure_assignment_1.f90: Ditto.
+ * impure_constructor_1.f90: Ditto.
+ * initialization_10.f90: Ditto.
+ * initialization_12.f90: Ditto.
+ * interface_14.f90: Ditto.
+ * interface_15.f90: Ditto.
+ * interface_2.f90: Ditto.
+ * interface_25.f90: Ditto.
+ * interface_26.f90: Ditto.
+ * interface_29.f90: Ditto.
+ * interface_assignment_1.f90: Ditto.
+ * internal_pack_6.f90: Ditto.
+ * internal_pack_7.f90: Ditto.
+ * internal_pack_8.f90: Ditto.
+ * lto/pr45586_0.f90: Ditto.
+ * lto/pr47839_0.f90: Ditto.
+ * module_commons_3.f90: Ditto.
+ * module_equivalence_4.f90: Ditto.
+ * module_equivalence_6.f90: Ditto.
+ * module_function_type_1.f90: Ditto.
+ * module_naming_1.f90: Ditto.
+ * namelist_4.f90: Ditto.
+ * operator_c1202.f90: Ditto.
+ * parens_7.f90: Ditto.
+ * pr32921.f: Ditto.
+ * pr33646.f90: Ditto.
+ * pr41928.f90: Ditto.
+ * pr42119.f90: Ditto.
+ * pr43984.f90: Ditto.
+ * present_1.f90: Ditto.
+ * private_type_2.f90: Ditto.
+ * proc_decl_2.f90: Ditto.
+ * proc_ptr_10.f90: Ditto.
+ * proc_ptr_22.f90: Ditto.
+ * proc_ptr_8.f90: Ditto.
+ * proc_ptr_comp_12.f90: Ditto.
+ * proc_ptr_comp_pass_6.f90: Ditto.
+ * pure_formal_proc_2.f90: Ditto.
+ * realloc_on_assign_4.f03: Ditto.
+ * substring_equivalence.f90: Ditto.
+ * transfer_assumed_size_1.f90: Ditto.
+ * transpose_optimization_1.f90: Ditto.
+ * trim_optimize_6.f90: Ditto.
+ * typebound_call_12.f03: Ditto.
+ * typebound_operator_5.f03: Ditto.
+ * typebound_operator_6.f03: Ditto.
+ * typebound_proc_18.f03: Ditto.
+ * unreferenced_use_assoc_1.f90: Ditto.
+ * use_1.f90: Ditto.
+ * use_10.f90: Ditto.
+ * use_11.f90: Ditto.
+ * use_14.f90: Ditto.
+ * use_only_2.f90: Ditto.
+ * use_rename_4.f90: Ditto.
+ * use_rename_5.f90: Ditto.
+ * used_dummy_types_3.f90: Ditto.
+ * used_interface_ref.f90: Ditto.
+ * used_types_11.f90: Ditto.
+ * used_types_3.f90: Ditto.
+ * used_types_4.f90: Ditto.
+ * userdef_operator_2.f90: Ditto.
+ * vect/fast-math-vect-8.f90: Ditto.
+ * vect/pr46213.f90: Ditto.
+ * whole_file_21.f90: Ditto.
+ * whole_file_22.f90: Ditto.
+ * coarray_lib_token_1.f90: Ditto. Add space before "}".
+ * coarray_lib_token_2.f90: Ditto.
+
2011-08-02 Kai Tietz <ktietz@redhat.com>
* gcc.dg/tree-ssa/forwprop-15.c: New testcase.
call bb(w((/3,2,1/))) ! { dg-error "vector subscript" }
write(*,*)w
end
+
+! { dg-final { cleanup-modules "mod" } }
end do
end
-! { dg-final { cleanup-modules "PrettyPix_module" } }
+! { dg-final { cleanup-modules "prettypix_module" } }
bar = carg(1:12)
end function
end
+
+! { dg-final { cleanup-modules "m" } }
if(associated(p)) deallocate(p)
end subroutine sub
end module test
+! { dg-final { cleanup-modules "test" } }
end subroutine
END MODULE s_TESTS
-! { dg-final { cleanup-modules "m s_TESTS" } }
+! { dg-final { cleanup-modules "m s_tests" } }
UDS0L = SEQ(RESHAPE ( (/ ((CA_T(J1,J2), J1 = 1, 1), J2 = 1, 2)/),(/2/)))
END SUBROUTINE
END
-! { dg-final { cleanup-modules "o_TYPE_DEFS TESTS" } }
+! { dg-final { cleanup-modules "o_type_defs tests" } }
write(*,*) my_string(x)
end program len_test
+! { dg-final { cleanup-modules "test" } }
END TYPE TWindowData
END MODULE WinData
-! { dg-final { cleanup-modules "WinData" } }
+! { dg-final { cleanup-modules "windata" } }
end function lenf
END MODULE B1
-! { dg-final { cleanup-modules "B1" } }
+! { dg-final { cleanup-modules "b1" } }
\r
END\r
\r
-! { dg-final { cleanup-modules "M1" } }\r
+! { dg-final { cleanup-modules "m1" } }\r
end
-! { dg-final { cleanup-modules "TEST" } }
+! { dg-final { cleanup-modules "test" } }
call gen(x)
if(x /= 17) call abort()
end program main
+
+! { dg-final { cleanup-modules "mod" } }
if(iachar(d(i)(2:2)) /=32 .or. iachar(d(i)(3:3)) /= 32) call abort()
end do
end subroutine
+
+! { dg-final { cleanup-modules "mod" } }
type(foo), bind(c) :: cp ! { dg-error "is not C interoperable" }
real(c_double), pointer,bind(c) :: p ! { dg-error "cannot have both the POINTER and BIND.C." }
end module test
+! { dg-final { cleanup-modules "test" } }
call my_c_print()
end program main
+
+! { dg-final { cleanup-modules "a" } }
use mod_C
end module
-! { dg-final { cleanup-modules "mod_A mod_B mod_C mod_D" } }
+! { dg-final { cleanup-modules "mod_a mod_b mod_c mod_d" } }
end function Type1_initProc
end module type1_type
-! { dg-final { cleanup-modules "type2_type extended2A_type type1_type" } }
+! { dg-final { cleanup-modules "type2_type extended2a_type type1_type" } }
class(molecularAbundancesStructure), pointer :: molecules
end module
-! { dg-final { cleanup-modules "Molecular_Abundances_Structure" } }
+! { dg-final { cleanup-modules "molecular_abundances_structure" } }
end subroutine psb_cdall
-
+! { dg-final { cleanup-modules "psb_penv_mod psb_indx_map_mod psb_gen_block_map_mod psb_descriptor_type psb_cd_if_tools_mod psb_cd_tools_mod psb_base_tools_mod" } }
call walk (node)
end program
-! { dg-final { cleanup-modules "Tree_Nodes Merger_Trees Merger_Tree_Build" } }
+! { dg-final { cleanup-modules "tree_nodes merger_trees merger_tree_build" } }
end subroutine
end module
-! { dg-final { cleanup-modules "Overload_AnException_Impl" } }
+! { dg-final { cleanup-modules "overload_anexception_impl" } }
this = this*scale
end subroutine
end program
+
+! { dg-final { cleanup-modules "bar_module foo_module" } }
if (not_refed /= 784) call abort()
end subroutine uncalled
end subroutine test
+
+! { dg-final { cleanup-modules "m" } }
! void * restrict caf_token.4, integer(kind=8) caf_offset.5,
! void * restrict caf_token.6, integer(kind=8) caf_offset.7)
!
-! { dg-final { scan-tree-dump-times "sub \\(integer.kind=4. . restrict x1, integer.kind=4. . restrict x2, void . restrict caf_token.\[0-9\]+, integer.kind=.. caf_offset.\[0-9\]+, void . restrict caf_token.\[0-9\]+, integer.kind=.. caf_offset.\[0-9\]+\\)" 1 "original"} }
+! { dg-final { scan-tree-dump-times "sub \\(integer.kind=4. . restrict x1, integer.kind=4. . restrict x2, void . restrict caf_token.\[0-9\]+, integer.kind=.. caf_offset.\[0-9\]+, void . restrict caf_token.\[0-9\]+, integer.kind=.. caf_offset.\[0-9\]+\\)" 1 "original" } }
!
! PROTOTYPE 2:
!
! void * restrict caf_token.0, integer(kind=8) caf_offset.1,
! void * restrict caf_token.2, integer(kind=8) caf_offset.3)
!
-! { dg-final { scan-tree-dump-times "sub2 \\(integer.kind=4. . restrict y1, integer.kind=4. . restrict y2, void . restrict caf_token.\[0-9\]+, integer.kind=.. caf_offset.\[0-9\]+, void . restrict caf_token.\[0-9\]+, integer.kind=.. caf_offset.\[0-9\]+\\)" 1 "original"} }
+! { dg-final { scan-tree-dump-times "sub2 \\(integer.kind=4. . restrict y1, integer.kind=4. . restrict y2, void . restrict caf_token.\[0-9\]+, integer.kind=.. caf_offset.\[0-9\]+, void . restrict caf_token.\[0-9\]+, integer.kind=.. caf_offset.\[0-9\]+\\)" 1 "original" } }
!
! CALL 1
!
! sub ((integer(kind=4) *) caf, &caf_dt->b, caf_token.9, 0, caf_token.10, 4);
!
-! { dg-final { scan-tree-dump-times "sub \\(\[^,\]*caf, &caf_dt->b, caf_token.\[0-9\]+, 0, caf_token.\[0-9\]+, 4\\)" 1 "original"} }
+! { dg-final { scan-tree-dump-times "sub \\(\[^,\]*caf, &caf_dt->b, caf_token.\[0-9\]+, 0, caf_token.\[0-9\]+, 4\\)" 1 "original" } }
!
! sub2 ((integer(kind=4) *) x1, (integer(kind=4) *) x2,
! caf_token.4, NON_LVALUE_EXPR <caf_offset.5>,
! caf_token.6, NON_LVALUE_EXPR <caf_offset.7>);
!
-! { dg-final { scan-tree-dump-times "sub2 \\(\[^,\]*x1, \[^,\]*x2, caf_token.\[0-9]+, \[^,\]*caf_offset\[^,\]*, caf_token.\[0-9\]+, \[^,\]*caf_offset\[^,\]*\\)" 1 "original"} }
+! { dg-final { scan-tree-dump-times "sub2 \\(\[^,\]*x1, \[^,\]*x2, caf_token.\[0-9]+, \[^,\]*caf_offset\[^,\]*, caf_token.\[0-9\]+, \[^,\]*caf_offset\[^,\]*\\)" 1 "original" } }
!
! CALL 3
!
-! { dg-final { scan-tree-dump-times "sub_opt \\(0B, 0B, 0\\)" 1 "original"} }
+! { dg-final { scan-tree-dump-times "sub_opt \\(0B, 0B, 0\\)" 1 "original" } }
!
! CALL 4
!
-! { dg-final { scan-tree-dump-times "sub_opt \\(.integer.kind=4. .. caf, caf_token.\[0-9\]+, 0\\)" 1 "original"} }
+! { dg-final { scan-tree-dump-times "sub_opt \\(.integer.kind=4. .. caf, caf_token.\[0-9\]+, 0\\)" 1 "original" } }
!
! { dg-final { cleanup-tree-dump "original" } }
! void * restrict caf_token.4, integer(kind=8) caf_offset.5,
! void * restrict caf_token.6, integer(kind=8) caf_offset.7)
!
-! { dg-final { scan-tree-dump-times "sub \\(integer.kind=4. . restrict x1, integer.kind=4. . restrict x2, void . restrict caf_token.\[0-9\]+, integer.kind=.. caf_offset.\[0-9\]+, void . restrict caf_token.\[0-9\]+, integer.kind=.. caf_offset.\[0-9\]+\\)" 1 "original"} }
+! { dg-final { scan-tree-dump-times "sub \\(integer.kind=4. . restrict x1, integer.kind=4. . restrict x2, void . restrict caf_token.\[0-9\]+, integer.kind=.. caf_offset.\[0-9\]+, void . restrict caf_token.\[0-9\]+, integer.kind=.. caf_offset.\[0-9\]+\\)" 1 "original" } }
!
! PROTOTYPE 2:
!
! void * restrict caf_token.0, integer(kind=8) caf_offset.1,
! void * restrict caf_token.2, integer(kind=8) caf_offset.3)
!
-! { dg-final { scan-tree-dump-times "sub2 \\(integer.kind=4. . restrict y1, integer.kind=4. . restrict y2, void . restrict caf_token.\[0-9\]+, integer.kind=.. caf_offset.\[0-9\]+, void . restrict caf_token.\[0-9\]+, integer.kind=.. caf_offset.\[0-9\]+\\)" 1 "original"} }
+! { dg-final { scan-tree-dump-times "sub2 \\(integer.kind=4. . restrict y1, integer.kind=4. . restrict y2, void . restrict caf_token.\[0-9\]+, integer.kind=.. caf_offset.\[0-9\]+, void . restrict caf_token.\[0-9\]+, integer.kind=.. caf_offset.\[0-9\]+\\)" 1 "original" } }
!
! CALL 1
!
! sub ((integer(kind=4) *) caf.data, &((struct t * restrict) caf_dt.data)->b,
! caf.token, 0, caf_dt.token, 4);
!
-! { dg-final { scan-tree-dump-times "sub \\(\[^,\]*caf.data, &\[^,\]*caf_dt.data.->b, caf.token, 0, caf_dt.token, 4\\)" 1 "original"} }
+! { dg-final { scan-tree-dump-times "sub \\(\[^,\]*caf.data, &\[^,\]*caf_dt.data.->b, caf.token, 0, caf_dt.token, 4\\)" 1 "original" } }
!
! sub2 ((integer(kind=4) *) x1, (integer(kind=4) *) x2,
! caf_token.4, NON_LVALUE_EXPR <caf_offset.5>,
! caf_token.6, NON_LVALUE_EXPR <caf_offset.7>);
!
-! { dg-final { scan-tree-dump-times "sub2 \\(\[^,\]*x1, \[^,\]*x2, caf_token.\[0-9]+, \[^,\]*caf_offset\[^,\]*, caf_token.\[0-9\]+, \[^,\]*caf_offset\[^,\]*\\)" 1 "original"} }
+! { dg-final { scan-tree-dump-times "sub2 \\(\[^,\]*x1, \[^,\]*x2, caf_token.\[0-9]+, \[^,\]*caf_offset\[^,\]*, caf_token.\[0-9\]+, \[^,\]*caf_offset\[^,\]*\\)" 1 "original" } }
!
! CALL 3
!
-! { dg-final { scan-tree-dump-times "sub_opt \\(0B, 0B, 0\\)" 1 "original"} }
+! { dg-final { scan-tree-dump-times "sub_opt \\(0B, 0B, 0\\)" 1 "original" } }
!
! CALL 4
!
-! { dg-final { scan-tree-dump-times "sub_opt \\(.integer.kind=4. .. caf.data, caf.token, 0\\)" 1 "original"} }
+! { dg-final { scan-tree-dump-times "sub_opt \\(.integer.kind=4. .. caf.data, caf.token, 0\\)" 1 "original" } }
!
! { dg-final { cleanup-tree-dump "original" } }
+! { dg-final { cleanup-modules "matrix_data" } }
a = 0
END
-! { dg-final { cleanup-modules "MODULE_A MODULE_B" } }
+! { dg-final { cleanup-modules "module_a module_b" } }
call other
call dominique
end
-! { dg-final { cleanup-modules "demo M1" } }
+! { dg-final { cleanup-modules "demo m1" } }
if (any (abs(Table%RealData(:,[1,2,3,5]) - 42) > epsilon(1.0))) call abort ()
end program TestProgram
-! { dg-final { cleanup-modules "UnitValue_Module" } }
+! { dg-final { cleanup-modules "unitvalue_module" } }
cell%h = reshape ([(real(i), i = 1, 9)], [3, 3])
call s1 (cell)
end
-! { dg-final { cleanup-modules "M1" } }
+! { dg-final { cleanup-modules "m1" } }
! { dg-final { scan-tree-dump-times "&a" 1 "original" } }
! { dg-final { scan-tree-dump-times "pack" 0 "original" } }
! { dg-final { cleanup-tree-dump "original" } }
x = matmul(a,b) ! { dg-warning "Creating array temporary" }
END SUBROUTINE GeneticOptimize
END MODULE m
+
+! { dg-final { cleanup-modules "m" } }
Table%RealData = 1
Table%RealData(:,1) = Table%RealData(:,1) * CENTIMETER
end program TestProgram
-! { dg-final { cleanup-modules "UnitValue_Module" } }
+! { dg-final { cleanup-modules "unitvalue_module" } }
end
! { dg-final { scan-tree-dump-times "j = 50" 1 "original" } }
! { dg-final { cleanup-tree-dump "original" } }
+! { dg-final { cleanup-modules "m" } }
end
-! { dg-final { cleanup-modules "BaseStrategy LaxWendroffStrategy KEStrategy" } }
+! { dg-final { cleanup-modules "basestrategy laxwendroffstrategy kestrategy" } }
SUB=XX()
END
-! { dg-final { cleanup-modules "TT" } }
+! { dg-final { cleanup-modules "tt" } }
END FUNCTION LL
END MODULE Test
-! { dg-final { cleanup-modules "Test" } }
+! { dg-final { cleanup-modules "test" } }
INTEGER, pointer :: MM ! { dg-error "conflicts with ELEMENTAL" }
END FUNCTION MM
END MODULE Test
-! { dg-final { cleanup-modules "Test" } }
+! { dg-final { cleanup-modules "test" } }
! Empty!
end type junk
end module stuff
+
+! { dg-final { cleanup-modules "stuff" } }
END MODULE TT
-! { dg-final { cleanup-modules "TT" } }
+! { dg-final { cleanup-modules "tt" } }
END MODULE M1
END
-! { dg-final { cleanup-modules "M1" } }
+! { dg-final { cleanup-modules "m1" } }
EQUIVALENCE(K,L) ! { dg-error "conflicts with USE ASSOCIATED attribute" }
END
-! { dg-final { cleanup-modules "TEST" } }
+! { dg-final { cleanup-modules "test" } }
END MODULE M1
USE M1, ONLY: I,&! { dg-error "Missing" }
-! { dg-final { cleanup-modules "M1" } }
+! { dg-final { cleanup-modules "m1" } }
call check_b (q%b)
end
-! { dg-final { cleanup-modules "persons person_education" } }
+! { dg-final { cleanup-modules "mymod" } }
end module mod
end
+
+! { dg-final { cleanup-modules "mod" } }
testCatch = testObj%test(2,2) ! This would cause an ICE
if (any (testCatch .ne. dble (reshape ([(i, i = 1, 4)],[2,2])))) call abort
end program bugTest
-! { dg-final { cleanup-modules "bugTestMod" } }
+! { dg-final { cleanup-modules "bugtestmod" } }
use FOO
end subroutine
-! { dg-final { cleanup-modules "FOO" } }
+! { dg-final { cleanup-modules "foo" } }
! { dg-final { scan-tree-dump-times "specproc" 3 "original" } }
! { dg-final { scan-tree-dump-times "elemproc" 3 "original" } }
! { dg-final { cleanup-tree-dump "original" } }
-! { dg-final { cleanup-modules "SomeOptions" } }
+! { dg-final { cleanup-modules "someoptions" } }
end module base_mod
-! { dg-final { cleanup-modules "m" } }
+! { dg-final { cleanup-modules "base_mod" } }
if (any (y /= z)) call abort ()
end
-! { dg-final { cleanup-modules "FOO" } }
+! { dg-final { cleanup-modules "foo" } }
use c
call useCreate
end
-! { dg-final { cleanup-modules "A B C" } }
+! { dg-final { cleanup-modules "a b c" } }
SUBROUTINE F()
END SUBROUTINE
-! { dg-final { cleanup-modules "TEST TEST2" } }
+! { dg-final { cleanup-modules "test test2" } }
END DO
ENDDO
END
+
+! { dg-final { cleanup-modules "les3d_data" } }
ENDDO
END SUBROUTINE create_destination_list
END MODULE
-
+! { dg-final { cleanup-modules "util" } }
call InitialDiatomicX () ! { dg-error "which is not consistent with the CALL" }
end subroutine FindDiatomicPeriod
end module Diatoms
-! { dg-final { cleanup-modules "Diatoms" } }
+! { dg-final { cleanup-modules "diatoms" } }
CALL S3
call S4
END
-! { dg-final { cleanup-modules "M1 M2" } }
+! { dg-final { cleanup-modules "m1 m2" } }
call GetBasicElementData (TargetElement, ProcedureName, ErrorNumber, ErrorLevel, ErrorMessage, CallingStat)
end subroutine WH_ERR
end module ErrorMod
-! { dg-final { cleanup-modules "ErrElmnt ErrorMod" } }
+! { dg-final { cleanup-modules "errelmnt errormod" } }
USE M2
CALL S2
END
-! { dg-final { cleanup-modules "M1 M2" } }
+! { dg-final { cleanup-modules "m1 m2" } }
end module ThermoData
-! { dg-final { cleanup-modules "ModelParams ThermoData" } }
+! { dg-final { cleanup-modules "modelparams thermodata" } }
common/rommel/aaa ! { dg-error "no IMPLICIT type" "no IMPLICIT type" }
end
-! { dg-final { cleanup-modules "AHFinder_dat" } }
+! { dg-final { cleanup-modules "ahfinder_dat" } }
END SUBROUTINE
END MODULE tests2
-! { dg-final { cleanup-modules "TESTS" } }
+! { dg-final { cleanup-modules "tests" } }
print *, x(1)%i
end subroutine s
end module m
+
+! { dg-final { cleanup-modules "m" } }
write(6,*) J(L) ! { dg-error "Expected a PURE procedure for argument" }
END
-! { dg-final { cleanup-modules "M1" } }
+! { dg-final { cleanup-modules "m1" } }
I=J ! { dg-error "is not PURE" }
END SUBROUTINE S2
END
-! { dg-final { cleanup-modules "M1" } }
+! { dg-final { cleanup-modules "m1" } }
end subroutine foo
end module m
-
+! { dg-final { cleanup-modules "m" } }
END SUBROUTINE Parser
END MODULE Readdata_mod
-! { dg-final { cleanup-modules "Readdata_mod" } }
+! { dg-final { cleanup-modules "readdata_mod" } }
use AtmoIono
end module AtmoIonoSphere
-! { dg-final { cleanup-modules "EGOPS_Utilities AtmoIono AtmoIonoSphere" } }
+! { dg-final { cleanup-modules "egops_utilities atmoiono atmoionosphere" } }
call new (b)
end
-! { dg-final { cleanup-modules "P_class S_Class T_Class D_Class poly_Class" } }
+! { dg-final { cleanup-modules "p_class s_class t_class d_class poly_class" } }
END FUNCTION
END MODULE
-! { dg-final { cleanup-modules "M1" } }
+! { dg-final { cleanup-modules "m1" } }
END MODULE Compare_Float_Numbers
-! { dg-final { cleanup-modules "Compare_Float_Numbers" } }
+! { dg-final { cleanup-modules "compare_float_numbers" } }
end if
END FUNCTION recSum
END PROGRAM test
+
+! { dg-final { cleanup-modules "funcs" } }
end if
END FUNCTION recSum
END PROGRAM test
+
+! { dg-final { cleanup-modules "funcs" } }
end subroutine
end module test
-! { dg-final { cleanup-modules "m" } }
+! { dg-final { cleanup-modules "m test" } }
IF (D%I.NE.4) call abort ()
IF (4.NE.E%I) call abort ()
END
-! { dg-final { cleanup-modules "TT" } }
+! { dg-final { cleanup-modules "tt" } }
call s2
end
-! { dg-final { cleanup-modules "M1" } }
+! { dg-final { cleanup-modules "m1" } }
! { dg-final { scan-tree-dump-times "_gfortran_internal_pack" 0 "original" } }
! { dg-final { cleanup-tree-dump "original" } }
s2=0
END FUNCTION S2
END MODULE M1
-! { dg-final { cleanup-modules "M1" } }
+! { dg-final { cleanup-modules "m1" } }
! { dg-final { scan-tree-dump-times "pack" 0 "original" } }
! { dg-final { cleanup-tree-dump "original" } }
USE M1
CALL S1
END
-! { dg-final { cleanup-modules "M1" } }
+! { dg-final { cleanup-modules "m1" } }
CALL S1(x)
write(6,*) x%r
END
+
+! { dg-final { cleanup-modules "m1 m2" } }
integer :: xstop
CONTAINS
END MODULE globalvar_mod
+
+! { dg-final { cleanup-modules "globalvar_mod pec_mod" } }
call BAR (T2)
CALL FOOBAR (T2)
END PROGRAM TEST1
-! { dg-final { cleanup-modules "TEST2 TEST3 TEST4" } }
+! { dg-final { cleanup-modules "test2 test3 test4" } }
call nudata (nlibe_, a_, l_)
end
-! { dg-final { cleanup-modules "data_C" } }
+! { dg-final { cleanup-modules "data_c" } }
INTEGER :: ii
ii = H5P_DEFAULT_F
END PROGRAM fortranlibtest
-! { dg-final { cleanup-modules "H5GLOBAL HDF5" } }
+! { dg-final { cleanup-modules "h5global hdf5" } }
A_var = initA()
end program C
-! { dg-final { cleanup-modules "A B" } }
+! { dg-final { cleanup-modules "a b" } }
! mangled to __m2_mod_m2_MOD_m3
end subroutine m3
end module m2_MOD_m2
-! { dg-final { cleanup-modules "m1 m1__m2 m2 m2_MOD_m2" } }
+! { dg-final { cleanup-modules "m1 m1__m2 m2 m2_mod_m2" } }
END FUNCTION\r
END
\r
-! { dg-final { cleanup-modules "M1" } }
+! { dg-final { cleanup-modules "m1" } }
end function f1
end module op
+
+! { dg-final { cleanup-modules "op" } }
end function test4
-end program test
\ No newline at end of file
+end program test
+
+! { dg-final { cleanup-modules "m" } }
END
! { dg-final { scan-tree-dump-times "stride" 4 "lim1" } }
! { dg-final { cleanup-tree-dump "lim1" } }
-! { dg-final { cleanup-modules "LES3D_DATA" } }
+! { dg-final { cleanup-modules "les3d_data" } }
end subroutine
end
-! { dg-final { cleanup-modules "BAR_MODULE FOO_MODULE" } }
+! { dg-final { cleanup-modules "bar_module foo_module" } }
END DO
END SUBROUTINE diff_momop
END MODULE ai_moments
-! { dg-final { cleanup-modules "ai_moments" } }
+! { dg-final { cleanup-modules "kinds ai_moments" } }
call Check(C_FUNLOC(Callback))
end program Main
+! { dg-final { cleanup-modules "test" } }
! { dg-final { scan-tree-dump-times "= iyz.data" 3 "pre" } }
! { dg-final { cleanup-tree-dump "pre" } }
+! { dg-final { cleanup-modules "test" } }
END SUBROUTINE S1
END MODULE
END
-! { dg-final { cleanup-modules "M1" } }
+! { dg-final { cleanup-modules "m1" } }
END MODULE
END
-! { dg-final { cleanup-modules "TEST" } }
+! { dg-final { cleanup-modules "test" } }
integer :: x, p7
p7 = x*(-2)
end function
+
+! { dg-final { cleanup-modules "m" } }
call proc4( p )
end program myProg
-! { dg-final { cleanup-modules "myMod" } }
+! { dg-final { cleanup-modules "mymod" } }
if (sum(pp2(3,2))/=6) call abort()
end program bugTest
-! { dg-final { cleanup-modules "bugTestMod" } }
+! { dg-final { cleanup-modules "bugtestmod" } }
END
-! { dg-final { cleanup-modules "X" } }
+! { dg-final { cleanup-modules "x" } }
if (sum(testObj%test(3,3))/=9) call abort()
end program bugTest
-! { dg-final { cleanup-modules "bugTestMod" } }
+! { dg-final { cleanup-modules "bugtestmod" } }
END DO
END PROGRAM ProgA
-! { dg-final { cleanup-modules "ModA" } }
+! { dg-final { cleanup-modules "moda" } }
deallocate(pT1)
end program Test
-! { dg-final { cleanup-modules "TestPure" } }
+! { dg-final { cleanup-modules "testpure" } }
end function
end
+! { dg-final { cleanup-modules "m" } }
equivalence ( encodings(1:1),at ), ( encodings(2:2),dev)
end module FLAGS
-! { dg-final { cleanup-modules "FLAGS" } }
+! { dg-final { cleanup-modules "flags" } }
call BytesToString( StringToBytes('Hi'), str )
if (trim(str) .ne. "Hi") call abort ()
end program
-! { dg-final { cleanup-modules "TransferBug" } }
+! { dg-final { cleanup-modules "transferbug" } }
! { dg-final { scan-tree-dump-times "struct\[^\\n\]*atmp" 4 "original" } }
! { dg-final { cleanup-tree-dump "original" } }
+! { dg-final { cleanup-modules "foo" } }
! { dg-options "-O -fdump-tree-original" }
! PR 47065 - replace trim with substring expressions even with references.
program main
- use foo
implicit none
type t
character(len=2) :: x
if (line /= "aX ") call abort
if (f() .ne. 2) call abort
end program main
+
+! { dg-final { cleanup-modules "foo" } }
END DO
END PROGRAM ProgA
-! { dg-final { cleanup-modules "ModA" } }
+! { dg-final { cleanup-modules "moda" } }
PRINT *, A%PT .LT. B%PT
END
-! { dg-final { cleanup-modules "DEF1" } }
+! { dg-final { cleanup-modules "def1" } }
if (.NOT. NDA .LT. NDB) call abort()
END
-! { dg-final { cleanup-modules "DAT_MOD NODE_MOD" } }
+! { dg-final { cleanup-modules "dat_mod node_mod" } }
end module Merger_Trees
-! { dg-final { cleanup-modules "Merger_Trees" } }
+! { dg-final { cleanup-modules "merger_trees" } }
call DoSomethingWithBytes( UserTypeToBytes(user) )
end program
-! { dg-final { cleanup-modules "InternalCompilerError" } }
+! { dg-final { cleanup-modules "internalcompilererror" } }
subroutine bar1
usefoo
end
- ! { dg-final { cleanup-modules "iso_fortran_env" } }
+ ! { dg-final { cleanup-modules "foo" } }
implicit none
if (.my.2 /= -2 .or. .op.3 /= -3 .or. .ops.7 /= -7) call abort()
end
+
+! { dg-final { cleanup-modules "a" } }
local2 = 3
if (local1 .ne. local2) call abort ()
end
-! { dg-final { cleanup-modules "test" } }
+! { dg-final { cleanup-modules "m" } }
end subroutine
END
+
+! { dg-final { cleanup-modules "test_mod" } }
module MyMod4\r
USE MyMod3, only: write_MyInt\r
end module MYMOD4\r
-! { dg-final { cleanup-modules "MyMod1 MyMod2 MyMod3 MyMod4" } }
+! { dg-final { cleanup-modules "mymod1 mymod2 mymod3 mymod4" } }
CALL abort ()
END IF
END PROGRAM main
+
+! { dg-final { cleanup-modules "m" } }
i = 4 ! { dg-error "no IMPLICIT type" }
j = 5
END PROGRAM main
+
+! { dg-final { cleanup-modules "m" } }
CALL TEST(x) ! { dg-error "Type mismatch in argument" }
END
-! { dg-final { cleanup-modules "T1 T2" } }
+! { dg-final { cleanup-modules "t1 t2" } }
solveCConvert = (/(real(i), i = 1, anzKomponenten)/)
END FUNCTION solveCConvert
-! { dg-final { cleanup-modules "MODULE_CONC MODULE_THERMOCALC" } }
+! { dg-final { cleanup-modules "module_conc module_thermocalc" } }
x => foo ()
print *, associated (x)
end
-! { dg-final { cleanup-modules "A B" } }
+! { dg-final { cleanup-modules "a b" } }
a%ofTypA(i,j) = ofTypB(k,j)
end subroutine buggy
end module modC
-! { dg-final { cleanup-modules "modA modB modC" } }
+! { dg-final { cleanup-modules "moda modb modc" } }
call InitRECFAST(CP%omegab,CP%h0,CP%tcmb,CP%yhe)\r
end subroutine inithermo\r
end module ThermoData\r
-! { dg-final { cleanup-modules "PRECISION ModelParams TimeSteps ThermoData" } }
+! { dg-final { cleanup-modules "precision modelparams timesteps thermodata" } }
print*, a .myop. b
end subroutine test_fn
end module test_mod
+
+! { dg-final { cleanup-modules "test_mod" } }
! { dg-final { scan-tree-dump-times "vectorized 1 loops" 1 "vect" { target vect_intfloat_cvt } } }
! { dg-final { cleanup-tree-dump "vect" } }
+! { dg-final { cleanup-modules "solv_cap" } }
end program test
! { dg-final { cleanup-tree-dump "vect" } }
+! { dg-final { cleanup-modules "foo" } }
END MODULE mod
END
-! { dg-final { cleanup-modules "m" } }
+! { dg-final { cleanup-modules "mod" } }
CALL b()
END
+! { dg-final { cleanup-modules "m" } }