aboutsummaryrefslogtreecommitdiff
path: root/libgo/go
diff options
context:
space:
mode:
authorAldy Hernandez <aldyh@redhat.com>2020-09-11 10:15:12 +0200
committerAldy Hernandez <aldyh@redhat.com>2020-09-29 00:23:53 +0200
commit77a23a825c2fcdac2a832998c228fd9d4ef99dd1 (patch)
tree731874d5e64de27b803291879d0369a66280085f /libgo/go
parent69c56ce673d1e1d4508e82053a32011f807c6088 (diff)
downloadgcc-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