summaryrefslogtreecommitdiffstats
path: root/staptree.h
diff options
context:
space:
mode:
authorjistone <jistone>2006-12-22 02:34:05 +0000
committerjistone <jistone>2006-12-22 02:34:05 +0000
commitef474d24145b85f933d06a1648b0d9cbf6695fe5 (patch)
tree4025671f55ad05735ad61d94cca720aa33c4d65e /staptree.h
parent9c66f4e068e743727dfec5acec6547cd18a4030c (diff)
downloadsystemtap-steved-ef474d24145b85f933d06a1648b0d9cbf6695fe5.tar.gz
systemtap-steved-ef474d24145b85f933d06a1648b0d9cbf6695fe5.tar.xz
systemtap-steved-ef474d24145b85f933d06a1648b0d9cbf6695fe5.zip
2006-12-21 Josh Stone <joshua.i.stone@intel.com>
PR 3671 * parse.cxx (parser::parse_global): Allow a maxsize on global arrays. * staptree.h (struct vardecl): Add the maxsize field. * staptree.cxx (vardecl::vardecl): Init. maxsize. (vardecl::set_arity): Don't allow arity 0 when there's a maxsize. (vardecl::compatible_arity): Ditto. (vardecl::print): Include maxsize in output. (target_symbol::print): Ditto. * translate.cxx (struct mapvar, mapvar::mapvar): Add maxsize. (mapvar::init): Init maps with the given maxsize if specified, else keep using MAXMAPENTRIES. (mapvar::set): Make the error message give the maxsize. (mapvar::add): Ditto, and check for overflow on pmap add. (c_unparser::getmap): Pass the maxsize from the vardecl to mapvar.
Diffstat (limited to 'staptree.h')
-rw-r--r--staptree.h1
1 files changed, 1 insertions, 0 deletions
diff --git a/staptree.h b/staptree.h
index d4eea008..7585a01f 100644
--- a/staptree.h
+++ b/staptree.h
@@ -395,6 +395,7 @@ struct vardecl: public symboldecl
void set_arity (int arity);
bool compatible_arity (int a);
int arity; // -1: unknown; 0: scalar; >0: array
+ int maxsize; // upperbound on size for arrays
std::vector<exp_type> index_types; // for arrays only
literal *init; // for global scalars only
};