aboutsummaryrefslogtreecommitdiff
path: root/gcc/fortran/trans-decl.c
diff options
context:
space:
mode:
authorThomas Koenig <tkoenig@gcc.gnu.org>2019-10-03 12:39:42 +0000
committerThomas Koenig <tkoenig@gcc.gnu.org>2019-10-03 12:39:42 +0000
commit3aad513c68676dc93ae24ed70022093dc3920e18 (patch)
treef9133b6f64f63b283db13b5e2f9c9a8ee52ae99b /gcc/fortran/trans-decl.c
parentf61e54e59cda5a2e281d525d3f87ffa179fae1ae (diff)
downloadgcc-3aad513c68676dc93ae24ed70022093dc3920e18.zip
gcc-3aad513c68676dc93ae24ed70022093dc3920e18.tar.gz
gcc-3aad513c68676dc93ae24ed70022093dc3920e18.tar.bz2
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
Diffstat (limited to 'gcc/fortran/trans-decl.c')
-rw-r--r--gcc/fortran/trans-decl.c6
1 files changed, 5 insertions, 1 deletions
diff --git a/gcc/fortran/trans-decl.c b/gcc/fortran/trans-decl.c
index a113f08..b701f49 100644
--- a/gcc/fortran/trans-decl.c
+++ b/gcc/fortran/trans-decl.c
@@ -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;
}