diff options
author | Jakub Jelinek <jakub@redhat.com> | 2007-11-28 20:43:03 +0100 |
---|---|---|
committer | Jakub Jelinek <jakub@gcc.gnu.org> | 2007-11-28 20:43:03 +0100 |
commit | 36cefd39222098287e7bfbcfca5b2450673432fa (patch) | |
tree | 983d51c5ea1343eb0959c7bdd9ac398b2bed5efa /gcc/fortran/trans-openmp.c | |
parent | 1661473b7f96b42c272b8bf8945ece6b60a2d5b2 (diff) | |
download | gcc-36cefd39222098287e7bfbcfca5b2450673432fa.zip gcc-36cefd39222098287e7bfbcfca5b2450673432fa.tar.gz gcc-36cefd39222098287e7bfbcfca5b2450673432fa.tar.bz2 |
re PR fortran/34247 (ICE in omp_add_variable, at gimplify.c:4677)
* trans-expr.c (gfc_trans_string_copy): Convert both dest and
src to void *.
PR fortran/34247
* trans-openmp.c (gfc_omp_privatize_by_reference): For REFERENCE_TYPE
pass by reference only PARM_DECLs or non-artificial decls.
From-SVN: r130492
Diffstat (limited to 'gcc/fortran/trans-openmp.c')
-rw-r--r-- | gcc/fortran/trans-openmp.c | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/gcc/fortran/trans-openmp.c b/gcc/fortran/trans-openmp.c index 047c2b82..ea595a0 100644 --- a/gcc/fortran/trans-openmp.c +++ b/gcc/fortran/trans-openmp.c @@ -44,7 +44,8 @@ gfc_omp_privatize_by_reference (const_tree decl) { tree type = TREE_TYPE (decl); - if (TREE_CODE (type) == REFERENCE_TYPE) + if (TREE_CODE (type) == REFERENCE_TYPE + && (!DECL_ARTIFICIAL (decl) || TREE_CODE (decl) == PARM_DECL)) return true; if (TREE_CODE (type) == POINTER_TYPE) |