diff options
Diffstat (limited to 'gcc/cp/cp-gimplify.c')
| -rw-r--r-- | gcc/cp/cp-gimplify.c | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/gcc/cp/cp-gimplify.c b/gcc/cp/cp-gimplify.c index a4d59f5..aa71746 100644 --- a/gcc/cp/cp-gimplify.c +++ b/gcc/cp/cp-gimplify.c @@ -596,7 +596,10 @@ cp_genericize_r (tree *stmt_p, int *walk_subtrees, void *data) tree stmt = *stmt_p; struct pointer_set_t *p_set = (struct pointer_set_t*) data; - if (is_invisiref_parm (stmt)) + if (is_invisiref_parm (stmt) + /* Don't dereference parms in a thunk, pass the references through. */ + && !(DECL_THUNK_P (current_function_decl) + && TREE_CODE (stmt) == PARM_DECL)) { *stmt_p = convert_from_reference (stmt); *walk_subtrees = 0; |
