diff options
author | mpolacek <mpolacek@138bc75d-0d04-0410-961f-82ee72b054a4> | 2012-10-08 17:38:13 +0000 |
---|---|---|
committer | mpolacek <mpolacek@138bc75d-0d04-0410-961f-82ee72b054a4> | 2012-10-08 17:38:13 +0000 |
commit | 514d377a3dcb7aeb49113b23d70fc87f6304a30e (patch) | |
tree | 3ccd528de449534d2eb9ed8fb56e11f0b643d079 /gcc/var-tracking.c | |
parent | 14c7dd36b1e70fa779d4baacbc97113b0b53969b (diff) | |
download | gcc-514d377a3dcb7aeb49113b23d70fc87f6304a30e.tar.gz |
PR54831.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@192218 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/var-tracking.c')
-rw-r--r-- | gcc/var-tracking.c | 13 |
1 files changed, 7 insertions, 6 deletions
diff --git a/gcc/var-tracking.c b/gcc/var-tracking.c index bbd2f4b6923..6a6cd420a0c 100644 --- a/gcc/var-tracking.c +++ b/gcc/var-tracking.c @@ -9404,12 +9404,13 @@ vt_add_function_parameter (tree parm) if (parm != decl) { - /* Assume that DECL_RTL was a pseudo that got spilled to - memory. The spill slot sharing code will force the - memory to reference spill_slot_decl (%sfp), so we don't - match above. That's ok, the pseudo must have referenced - the entire parameter, so just reset OFFSET. */ - gcc_assert (decl == get_spill_slot_decl (false)); + /* If that DECL_RTL wasn't a pseudo that got spilled to + memory, bail out. Otherwise, the spill slot sharing code + will force the memory to reference spill_slot_decl (%sfp), + so we don't match above. That's ok, the pseudo must have + referenced the entire parameter, so just reset OFFSET. */ + if (decl != get_spill_slot_decl (false)) + return; offset = 0; } |