diff options
author | Al Viro <viro@zeniv.linux.org.uk> | 2007-07-12 21:20:06 -0400 |
---|---|---|
committer | Josh Triplett <josh@freedesktop.org> | 2007-07-14 12:16:53 -0700 |
commit | 984b7b66457cd9fe534c771317f74b66141e76af (patch) | |
tree | e11f6d3976925cc2a7a78dd7da3ca0f09aa3623f /symbol.h | |
parent | [PATCH] rewrite type_difference() (diff) | |
download | sparse-984b7b66457cd9fe534c771317f74b66141e76af.tar.gz sparse-984b7b66457cd9fe534c771317f74b66141e76af.tar.bz2 sparse-984b7b66457cd9fe534c771317f74b66141e76af.zip |
[PATCH] deal correctly with qualifiers on arrays
* new helper: examine_pointer_target(). Examine target, find address_space
et.al. If the target is SYM_NODE - merge it, etc.
* new helper: target_qualifiers(). Pointers to any array are considered
as pointers to unqualified type as far as implicit conversions are
concerned; handle that right.
* SYM_TYPEOF can be handled sanely now: don't copy the node, just convert
SYM_TYPEOF to SYM_NODE and examine that.
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Diffstat (limited to 'symbol.h')
-rw-r--r-- | symbol.h | 1 |
1 files changed, 1 insertions, 0 deletions
@@ -264,6 +264,7 @@ extern void add_symbol(struct symbol_list **, struct symbol *); extern void bind_symbol(struct symbol *, struct ident *, enum namespace); extern struct symbol *examine_symbol_type(struct symbol *); +extern struct symbol *examine_pointer_target(struct symbol *); extern void examine_simple_symbol_type(struct symbol *); extern const char *show_typename(struct symbol *sym); extern const char *builtin_typename(struct symbol *sym); |