aboutsummaryrefslogtreecommitdiffstatshomepage
diff options
context:
space:
mode:
authorLuc Van Oostenryck <luc.vanoostenryck@gmail.com>2019-11-01 10:05:12 +0100
committerLuc Van Oostenryck <luc.vanoostenryck@gmail.com>2019-11-01 10:05:12 +0100
commit57f861160762b498b4c90a68ee4863e12a9c899c (patch)
tree449cbab5d9f0173cf68aae203b3d354ff1fcbeea
parent9b36f4154135ae85c99c07c248af6678c87904ec (diff)
parentf82caa52ae28298bb44cc6f2caf82870f869aa3c (diff)
downloadsparse-57f861160762b498b4c90a68ee4863e12a9c899c.tar.gz
Merge branch 'double-underscore'
Support '__<attribute-name>__' for all attributes.
-rw-r--r--parse.c8
1 files changed, 7 insertions, 1 deletions
diff --git a/parse.c b/parse.c
index 48a63f22..4b0a1566 100644
--- a/parse.c
+++ b/parse.c
@@ -345,6 +345,7 @@ static struct symbol_op goto_op = {
static struct symbol_op __context___op = {
.statement = parse_context_statement,
+ .attribute = attribute_context,
};
static struct symbol_op range_op = {
@@ -537,6 +538,7 @@ static struct init_keyword {
{ "while", NS_KEYWORD, .op = &while_op },
{ "do", NS_KEYWORD, .op = &do_op },
{ "goto", NS_KEYWORD, .op = &goto_op },
+ { "context", NS_KEYWORD, .op = &context_op },
{ "__context__",NS_KEYWORD, .op = &__context___op },
{ "__range__", NS_KEYWORD, .op = &range_op },
{ "asm", NS_KEYWORD, .op = &asm_op },
@@ -549,13 +551,17 @@ static struct init_keyword {
{ "aligned", NS_KEYWORD, .op = &aligned_op },
{ "__aligned__",NS_KEYWORD, .op = &aligned_op },
{ "nocast", NS_KEYWORD, MOD_NOCAST, .op = &attr_mod_op },
+ { "__nocast__", NS_KEYWORD, MOD_NOCAST, .op = &attr_mod_op },
{ "noderef", NS_KEYWORD, MOD_NODEREF, .op = &attr_mod_op },
+ { "__noderef__",NS_KEYWORD, MOD_NODEREF, .op = &attr_mod_op },
{ "safe", NS_KEYWORD, MOD_SAFE, .op = &attr_mod_op },
+ { "__safe__", NS_KEYWORD, MOD_SAFE, .op = &attr_mod_op },
{ "force", NS_KEYWORD, .op = &attr_force_op },
+ { "__force__", NS_KEYWORD, .op = &attr_force_op },
{ "bitwise", NS_KEYWORD, MOD_BITWISE, .op = &attr_bitwise_op },
{ "__bitwise__",NS_KEYWORD, MOD_BITWISE, .op = &attr_bitwise_op },
{ "address_space",NS_KEYWORD, .op = &address_space_op },
- { "context", NS_KEYWORD, .op = &context_op },
+ { "__address_space__",NS_KEYWORD, .op = &address_space_op },
{ "designated_init", NS_KEYWORD, .op = &designated_init_op },
{ "__designated_init__", NS_KEYWORD, .op = &designated_init_op },
{ "transparent_union", NS_KEYWORD, .op = &transparent_union_op },