diff options
author | Aldy Hernandez <aldyh@redhat.com> | 2020-09-11 10:15:12 +0200 |
---|---|---|
committer | Aldy Hernandez <aldyh@redhat.com> | 2020-09-29 00:23:53 +0200 |
commit | 77a23a825c2fcdac2a832998c228fd9d4ef99dd1 (patch) | |
tree | 731874d5e64de27b803291879d0369a66280085f /libgo/go | |
parent | 69c56ce673d1e1d4508e82053a32011f807c6088 (diff) | |
download | gcc-77a23a825c2fcdac2a832998c228fd9d4ef99dd1.zip gcc-77a23a825c2fcdac2a832998c228fd9d4ef99dd1.tar.gz gcc-77a23a825c2fcdac2a832998c228fd9d4ef99dd1.tar.bz2 |
irange_allocator class
This is the irange storage class. It is used to allocate the
minimum amount of storage needed for a given irange. Storage is
automatically freed at destruction of the storage class.
It is meant for long term storage, as opposed to int_range_max
which is meant for intermediate temporary results on the stack.
The general gist is:
irange_allocator alloc;
// Allocate an irange of 5 sub-ranges.
irange *p = alloc.allocate (5);
// Allocate an irange of 3 sub-ranges.
irange *q = alloc.allocate (3);
// Allocate an irange with as many sub-ranges as are currently
// used in "some_other_range".
irange *r = alloc.allocate (some_other_range);
gcc/ChangeLog:
* value-range.h (class irange): Add irange_allocator friend.
(class irange_allocator): New.
Diffstat (limited to 'libgo/go')
0 files changed, 0 insertions, 0 deletions