@@ -1200,6 +1200,12 @@ end subroutine json_matrix_info
1200
1200
! @note If `found` is present, no exceptions will be thrown if an
1201
1201
! error occurs. Otherwise, an exception will be thrown if the
1202
1202
! variable is not found.
1203
+ !
1204
+ ! @warning There is a bug in gfortran-6.1.0 (and likely others) if using
1205
+ ! the `name` output and Unicode. The name will not be returned
1206
+ ! properly. It seems like setting an initial non-blank value
1207
+ ! before calling this routine can fix the issue in some cases.
1208
+ ! See `jf_test_19.F90`.
1203
1209
1204
1210
subroutine json_matrix_info_by_path (json ,p ,path ,is_matrix ,found ,&
1205
1211
var_type ,n_sets ,set_size ,name )
@@ -1241,18 +1247,19 @@ subroutine json_matrix_info_by_path(json,p,path,is_matrix,found,&
1241
1247
if (present (set_size)) set_size = 0
1242
1248
if (present (name)) name = ' '
1243
1249
else
1244
- ! get info:
1245
1250
1246
1251
! get info about the variable:
1247
- #if defined __GFORTRAN__
1248
- ! [note: passing name directory to this routine seems
1249
- ! to have a bug on older gfortran versions...
1250
- call json% matrix_info(p_var,is_matrix,var_type,n_sets,set_size,p_name)
1251
- if (present (name)) name = p_name
1252
- if (allocated (p_name)) deallocate (p_name)
1253
- #else
1252
+ ! #if defined __GFORTRAN__
1253
+ ! ! [note: passing name directory to this routine seems
1254
+ ! ! to have a bug on older gfortran versions...
1255
+ ! ! ... it also seems to be failing with unicode build ...
1256
+ ! ! ... this doesn't seem to fix the problem ...
1257
+ ! call json%matrix_info(p_var,is_matrix,var_type,n_sets,set_size,p_name)
1258
+ ! if (present(name)) name = p_name
1259
+ ! if (allocated(p_name)) deallocate(p_name)
1260
+ ! #else
1254
1261
call json% matrix_info(p_var,is_matrix,var_type,n_sets,set_size,name)
1255
- #endif
1262
+ ! #endif
1256
1263
if (json% failed() .and. present (found)) then
1257
1264
found = .false.
1258
1265
call json% clear_exceptions()
0 commit comments