frame.c (start_fde_sort): Only allocate erratic array, if linear one was allocated.
authorNathan Sidwell <nathan@acm.org>
Mon, 6 Dec 1999 14:02:16 +0000 (14:02 +0000)
committerNathan Sidwell <nathan@gcc.gnu.org>
Mon, 6 Dec 1999 14:02:16 +0000 (14:02 +0000)
commitd593d1d2b8519bb9acf53566f7798dfb6c4c384b
tree6963636df197396b13f5306d8a6e88970b7319a9
parent8ab56d5de5ca48086456c709056b651da09f352b
frame.c (start_fde_sort): Only allocate erratic array, if linear one was allocated.

* frame.c (start_fde_sort): Only allocate erratic array, if
linear one was allocated. Return allocated flag.
(fde_insert): Only insert, if there's a valid array.
(fde_end_sort): Split, sort and merge if linear and erratic
arrays exist, else just sort linear one.
(search_fdes): New function. Linear search through original fde
structure.
(frame_init): Permit multiple initializations. Cope with
memory shortages.
(find_fde): Fallback on linear search, if failed to sort array.
(__deregister_frame_info): Only free sorted array, if we
allocated it.

From-SVN: r30799
gcc/ChangeLog
gcc/frame.c