re PR fortran/84487 (Large rodate section increase in 465.tonto with r254427)

2019-10-03  Thomas Koenig <tkoenig@gcc.gnu.org>

	PR fortran/84487
	* trans-decl.c (gfc_get_symbol_decl): For __def_init, set
	DECL_ARTIFICAL and do not set TREE_READONLY.

2019-10-03  Thomas Koenig <tkoenig@gcc.gnu.org>

	PR fortran/84487
	* gfortran.dg/typebound_call_22.f03: xfail.

From-SVN: r276506
This commit is contained in:
Thomas Koenig 2019-10-03 12:39:42 +00:00
parent f61e54e59c
commit 3aad513c68
4 changed files with 17 additions and 2 deletions

View file

@ -1,3 +1,9 @@
2019-10-03 Thomas Koenig <tkoenig@gcc.gnu.org>
PR fortran/84487
* trans-decl.c (gfc_get_symbol_decl): For __def_init, set
DECL_ARTIFICAL and do not set TREE_READONLY.
2019-10-03 Mark Eggleston <mark.eggleston@codethink.com>
* array.c (check_element_type): Call gfc_typename with the gfc_expr

View file

@ -1911,9 +1911,13 @@ gfc_get_symbol_decl (gfc_symbol * sym)
if (sym->attr.associate_var)
GFC_DECL_ASSOCIATE_VAR_P (decl) = 1;
/* We no longer mark __def_init as read-only so it does not take up
space in the read-only section and dan go into the BSS instead,
see PR 84487. Marking this as artificial means that OpenMP will
treat this as predetermined shared. */
if (sym->attr.vtab
|| (sym->name[0] == '_' && gfc_str_startswith (sym->name, "__def_init")))
TREE_READONLY (decl) = 1;
DECL_ARTIFICIAL (decl) = 1;
return decl;
}

View file

@ -1,3 +1,8 @@
2019-10-03 Thomas Koenig <tkoenig@gcc.gnu.org>
PR fortran/84487
* gfortran.dg/typebound_call_22.f03: xfail.
2019-10-03 Mark Eggleston <mark.eggleston@codethink.com>
* gfortran.dg/bad_operands.f90: New test.

View file

@ -26,4 +26,4 @@ program test
call x%bar ()
end program
! { dg-final { scan-tree-dump-times "base \\(\\);" 1 "optimized" } }
! { dg-final { scan-tree-dump-times "base \\(\\);" 1 "optimized" { xfail *-*-* } } }