diff options
author | Thomas Koenig <tkoenig@gcc.gnu.org> | 2019-10-03 12:39:42 +0000 |
---|---|---|
committer | Thomas Koenig <tkoenig@gcc.gnu.org> | 2019-10-03 12:39:42 +0000 |
commit | 3aad513c68676dc93ae24ed70022093dc3920e18 (patch) | |
tree | f9133b6f64f63b283db13b5e2f9c9a8ee52ae99b /gcc/fortran/trans-decl.c | |
parent | f61e54e59cda5a2e281d525d3f87ffa179fae1ae (diff) | |
download | gcc-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.c | 6 |
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; } |