aboutsummaryrefslogtreecommitdiff
path: root/gcc/tree.c
diff options
context:
space:
mode:
authorJakub Jelinek <jakub@redhat.com>2018-01-24 17:28:47 +0100
committerJakub Jelinek <jakub@gcc.gnu.org>2018-01-24 17:28:47 +0100
commitf1542d9aee3d96366a680a470e2754912f0e8ce7 (patch)
tree174665a92f7c4715370c978fc58ff9d4a0673587 /gcc/tree.c
parent556d3a2433a6e2207c6f36fe292d89d81f46f924 (diff)
downloadgcc-f1542d9aee3d96366a680a470e2754912f0e8ce7.zip
gcc-f1542d9aee3d96366a680a470e2754912f0e8ce7.tar.gz
gcc-f1542d9aee3d96366a680a470e2754912f0e8ce7.tar.bz2
re PR middle-end/83977 (ICE in simd_clone_clauses_extract, at omp-simd-clone.c:184)
PR middle-end/83977 * tree.c (free_lang_data_in_decl): Don't clear DECL_ABSTRACT_ORIGIN here. * omp-low.c (create_omp_child_function): Remove "omp declare simd" attributes from DECL_ATTRIBUTES (decl) without affecting DECL_ATTRIBUTES (current_function_decl). * omp-simd-clone.c (expand_simd_clones): Ignore DECL_ARTIFICIAL functions with non-NULL DECL_ABSTRACT_ORIGIN. * c-c++-common/gomp/pr83977-1.c: New test. * c-c++-common/gomp/pr83977-2.c: New test. * c-c++-common/gomp/pr83977-3.c: New test. * gfortran.dg/gomp/pr83977.f90: New test. From-SVN: r257023
Diffstat (limited to 'gcc/tree.c')
-rw-r--r--gcc/tree.c10
1 files changed, 0 insertions, 10 deletions
diff --git a/gcc/tree.c b/gcc/tree.c
index 63a29f4..cd68fb5 100644
--- a/gcc/tree.c
+++ b/gcc/tree.c
@@ -5329,16 +5329,6 @@ free_lang_data_in_decl (tree decl)
At this point, it is not needed anymore. */
DECL_SAVED_TREE (decl) = NULL_TREE;
- /* Clear the abstract origin if it refers to a method.
- Otherwise dwarf2out.c will ICE as we splice functions out of
- TYPE_FIELDS and thus the origin will not be output
- correctly. */
- if (DECL_ABSTRACT_ORIGIN (decl)
- && DECL_CONTEXT (DECL_ABSTRACT_ORIGIN (decl))
- && RECORD_OR_UNION_TYPE_P
- (DECL_CONTEXT (DECL_ABSTRACT_ORIGIN (decl))))
- DECL_ABSTRACT_ORIGIN (decl) = NULL_TREE;
-
/* Sometimes the C++ frontend doesn't manage to transform a temporary
DECL_VINDEX referring to itself into a vtable slot number as it
should. Happens with functions that are copied and then forgotten