aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorMartin Jambor <mjambor@suse.cz>2011-04-15 20:20:46 +0200
committerMartin Jambor <jamborm@gcc.gnu.org>2011-04-15 20:20:46 +0200
commit8e5837bc114ab38055017e6825724ffbaa277305 (patch)
tree9a2e3a1d850e71eedb480a938fd8fa11d6d536aa /gcc
parent0dc33c3c14650fa55f60b08fdfe4aaeba5c0c9bc (diff)
downloadgcc-8e5837bc114ab38055017e6825724ffbaa277305.zip
gcc-8e5837bc114ab38055017e6825724ffbaa277305.tar.gz
gcc-8e5837bc114ab38055017e6825724ffbaa277305.tar.bz2
re PR middle-end/48601 (ICE in lower_emutls_function_body, at tree-emutls.c:623)
2011-04-15 Martin Jambor <mjambor@suse.cz> PR middle-end/48601 * tree-emutls.c (lower_emutls_function_body): Call cgraph_get_create_node instead of cgraph_get_node. Do not assert the result is non-NULL. From-SVN: r172512
Diffstat (limited to 'gcc')
-rw-r--r--gcc/ChangeLog7
-rw-r--r--gcc/tree-emutls.c5
2 files changed, 10 insertions, 2 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index f047ac3..85af683 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,10 @@
+2011-04-15 Martin Jambor <mjambor@suse.cz>
+
+ PR middle-end/48601
+ * tree-emutls.c (lower_emutls_function_body): Call
+ cgraph_get_create_node instead of cgraph_get_node. Do not assert the
+ result is non-NULL.
+
2011-04-15 Nicola Pero <nicola.pero@meta-innovation.com>
* c-decl.c (detect_field_duplicates): Call
diff --git a/gcc/tree-emutls.c b/gcc/tree-emutls.c
index cc01fb3..d295249 100644
--- a/gcc/tree-emutls.c
+++ b/gcc/tree-emutls.c
@@ -619,8 +619,9 @@ lower_emutls_function_body (struct cgraph_node *node)
d.cfun_node = node;
d.builtin_decl = built_in_decls[BUILT_IN_EMUTLS_GET_ADDRESS];
- d.builtin_node = cgraph_get_node (d.builtin_decl);
- gcc_checking_assert (d.builtin_node);
+ /* This is where we introduce the declaration to the IL and so we have to
+ create a node for it. */
+ d.builtin_node = cgraph_get_create_node (d.builtin_decl);
FOR_EACH_BB (d.bb)
{