aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/expression.h
diff options
authorLinus Torvalds <torvalds@penguin.transmeta.com>2003-04-15 12:23:28 -0700
committerLinus Torvalds <torvalds@ppc970.osdl.org>2005-04-07 21:00:32 -0700
commit296b36df80a7ed0908cea9fdc6750c3f36918c42 (patch)
treedb5ba52ecbb209baccf2050e175e7d07bd56a823 /expression.h
parent34a5d7e27857bcc49b9dd138ac42fecc3ca6166a (diff)
downloadsparse-dev-296b36df80a7ed0908cea9fdc6750c3f36918c42.tar.gz
Evaluate initializer entry offsets, and add them back into
the initializer expression list as EXPR_POS expressions so that a back-end can DTRT. Show complex initializers now that we've calculated the offsets of the expressions.
Diffstat (limited to 'expression.h')
-rw-r--r--expression.h7
1 files changed, 7 insertions, 0 deletions
diff --git a/expression.h b/expression.h
index 8c6c6079..0b907c3b 100644
--- a/expression.h
+++ b/expression.h
@@ -31,6 +31,7 @@ enum expression_type {
EXPR_INITIALIZER, // initializer list
EXPR_IDENTIFIER, // identifier in initializer
EXPR_INDEX, // index in initializer
+ EXPR_POS, // position in initializer
};
struct expression {
@@ -93,6 +94,12 @@ struct expression {
struct index_expr {
unsigned int idx_from, idx_to;
};
+ // EXPR_POS
+ struct initpos_expr {
+ unsigned int init_offset;
+ struct symbol *init_sym;
+ struct expression *init_expr;
+ };
};
};