diff options
author | Linus Torvalds <torvalds@ppc970.osdl.org> | 2004-07-31 22:11:29 -0700 |
---|---|---|
committer | Linus Torvalds <torvalds@ppc970.osdl.org> | 2005-04-07 21:02:28 -0700 |
commit | 8f776eb5f8939ccbe9e9824d6e57b0fd04c18a5a (patch) | |
tree | 878809f38fd14de72292e79e3053051127354295 /parse.h | |
parent | Handle preprocessor "# <nr> <file>" the same as #line <nr> <file>". (diff) | |
download | sparse-8f776eb5f8939ccbe9e9824d6e57b0fd04c18a5a.tar.gz sparse-8f776eb5f8939ccbe9e9824d6e57b0fd04c18a5a.tar.bz2 sparse-8f776eb5f8939ccbe9e9824d6e57b0fd04c18a5a.zip |
Keep track of computed target label lists per-function.
Associate them with each computed goto, and copy them properly
when inlining.
Diffstat (limited to 'parse.h')
-rw-r--r-- | parse.h | 6 |
1 files changed, 6 insertions, 0 deletions
@@ -77,7 +77,10 @@ struct statement { }; struct /* goto_struct */ { struct symbol *goto_label; + + /* computed gotos have these: */ struct expression *goto_expression; + struct symbol_list *target_list; }; struct /* goto_bb */ { struct expression *bb_conditional; @@ -91,6 +94,9 @@ struct statement { }; }; +extern struct symbol_list *function_computed_target_list; +extern struct statement_list *function_computed_goto_list; + extern struct token *parse_expression(struct token *, struct expression **); extern struct token *statement_list(struct token *, struct statement_list **); extern struct symbol *label_symbol(struct token *token); |