diff options
author | Al Viro <viro@ftp.linux.org.uk> | 2009-03-09 23:32:36 +0000 |
---|---|---|
committer | Christopher Li <sparse@chrisli.org> | 2009-07-18 05:30:09 +0000 |
commit | 47567023ae85e9c8428585da298e6d6613a86ab1 (patch) | |
tree | 6922e78595ef0c3636b83fc7930aa808ae61eeb3 /symbol.h | |
parent | Fix declaration_specifiers() handling of typedef name shadowed by NS_SYMBOL (diff) | |
download | sparse-47567023ae85e9c8428585da298e6d6613a86ab1.tar.gz sparse-47567023ae85e9c8428585da298e6d6613a86ab1.tar.bz2 sparse-47567023ae85e9c8428585da298e6d6613a86ab1.zip |
Fix __label__ handling
a) __label__ in gcc is not a type, it's a statement. Accepted in the beginning
of compound-statement, has form __label__ ident-list;
b) instead of crapping into NS_SYMBOL namespace (and consequent shadowing
issues), reassign the namespace to NS_LABEL after we'd bound it. We'll get
block scope and label namespace, i.e. what we get in gcc.
c) MOD_LABEL can be dropped now.
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Signed-off-by: Christopher Li <sparse@chrisli.org>
Diffstat (limited to 'symbol.h')
-rw-r--r-- | symbol.h | 1 |
1 files changed, 0 insertions, 1 deletions
@@ -207,7 +207,6 @@ struct symbol { #define MOD_ACCESSED 0x400000 #define MOD_TOPLEVEL 0x800000 // scoping.. -#define MOD_LABEL 0x1000000 #define MOD_ASSIGNED 0x2000000 #define MOD_TYPE 0x4000000 #define MOD_SAFE 0x8000000 // non-null/non-trapping pointer |