Skip to content

Commit

Permalink
Fortran ParamParse: disable some functions for gfortran 4 because of …
Browse files Browse the repository at this point in the history
…(I believe) compiler bug
  • Loading branch information
WeiqunZhang committed Jul 26, 2017
1 parent ad57f50 commit be3e897
Show file tree
Hide file tree
Showing 2 changed files with 5 additions and 6 deletions.
5 changes: 5 additions & 0 deletions Src/Base/AMReX_parmparse_mod.F90
Original file line number Diff line number Diff line change
Expand Up @@ -18,8 +18,13 @@ module amrex_parmparse_module
generic :: assignment(=) => amrex_parmparse_assign ! shallow copy
generic :: get => get_int, get_real, get_logical, get_string
generic :: query => query_int, query_real, query_logical, query_string
#if defined(__GFORTRAN__) && (__GNUC__ <= 4)
generic :: getarr => get_intarr, get_realarr
generic :: queryarr => query_intarr, query_realarr
#else
generic :: getarr => get_intarr, get_realarr, get_stringarr
generic :: queryarr => query_intarr, query_realarr, query_stringarr
#endif
generic :: add => add_int, add_real, add_logical, add_string
generic :: addarr => add_intarr, add_realarr, add_stringarr
procedure, private :: amrex_parmparse_assign
Expand Down
6 changes: 0 additions & 6 deletions Tutorials/Basic/main_F/main.F90
Original file line number Diff line number Diff line change
Expand Up @@ -30,15 +30,12 @@ subroutine add_parameters ()
implicit none

type(amrex_parmparse) :: pp
character(len=12) :: a(4)

! anonymous prefix
call amrex_parmparse_build(pp)
call pp%add("an_int_scalar", 2) ! integer scalar: an_int_scalar
call pp%add("a_bool_scalar", .true.) ! logical scalar: a_bool_scalar
call pp%addarr("a_real_array", [1._amrex_real, 2._amrex_real, 3._amrex_real]) ! real array: a_real_array
a(1) = "All"; a(2) = "you"; a(3) = "gotta"; a(4) = "do"
call pp%addarr("a_string_array", a) ! character array: a_string_array
call amrex_parmparse_destroy(pp)

! prefix "a_prefix"
Expand All @@ -61,14 +58,12 @@ subroutine test_parameters ()
real(amrex_real) :: r
real(amrex_real), allocatable :: ra(:)
character(len=:), allocatable :: s
character(len=:), allocatable :: sa(:)

! anonymous prefix
call amrex_parmparse_build(pp)
call pp%get("an_int_scalar", i)
call pp%get("a_bool_scalar",b)
call pp%getarr("a_real_array", ra)
call pp%getarr("a_string_array", sa)
call amrex_parmparse_destroy(pp)

! prefix "a_prefix"
Expand All @@ -82,7 +77,6 @@ subroutine test_parameters ()
print *, "an_int_scalar = ", i
print *, "a_bool_scalar = ", b
print *, "a_real_array = ", ra
print *, "a_string_array = ", sa(1), sa(2), sa(3), sa(4)
print *, "a_prefix.an_int_array = ", ia
print *, "a_prefix.a_real_scalar = ", r
print *, "a_prefix.a_string = ", s
Expand Down

0 comments on commit be3e897

Please sign in to comment.