diff options
| -rw-r--r-- | gcc/ChangeLog | 7 | ||||
| -rw-r--r-- | gcc/tree-emutls.c | 5 |
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) { |
