diff options
author | Andrei Karas <akaras@inbox.ru> | 2015-06-07 13:22:52 +0300 |
---|---|---|
committer | Andrei Karas <akaras@inbox.ru> | 2015-06-07 13:22:52 +0300 |
commit | 44cf7b096b5f93adce4f316ff1c75af8be004705 (patch) | |
tree | 20dc5f8fc73b4da3b773066eace8fca635d41558 /src/parsers/decl | |
parent | 070a91cfa376da74c781bd7a152785b103e00eea (diff) | |
download | paranucker-44cf7b096b5f93adce4f316ff1c75af8be004705.tar.gz paranucker-44cf7b096b5f93adce4f316ff1c75af8be004705.tar.bz2 paranucker-44cf7b096b5f93adce4f316ff1c75af8be004705.tar.xz paranucker-44cf7b096b5f93adce4f316ff1c75af8be004705.zip |
Add some missing fields in parsed nodes.
Diffstat (limited to 'src/parsers/decl')
-rw-r--r-- | src/parsers/decl/function_decl.cpp | 6 | ||||
-rw-r--r-- | src/parsers/decl/parm_decl.cpp | 1 | ||||
-rw-r--r-- | src/parsers/decl/result_decl.cpp | 11 | ||||
-rw-r--r-- | src/parsers/decl/var_decl.cpp | 3 |
4 files changed, 18 insertions, 3 deletions
diff --git a/src/parsers/decl/function_decl.cpp b/src/parsers/decl/function_decl.cpp index d7e6ecc..0cf4b19 100644 --- a/src/parsers/decl/function_decl.cpp +++ b/src/parsers/decl/function_decl.cpp @@ -34,14 +34,16 @@ void parseFunctionDeclNode(FunctionDeclNode *node) fillType(node); fillLocation(node); fillDeclLabel(node); - Log::log(node); - fillDeclAutoGenerated(node); setPrintField(node, DECL_FUNCTION_VERSIONED, hasTargets); setPrintField(node, DECL_VIRTUAL_P, isVirtual); setPrintField(node, DECL_FINAL_P, isFinal); setPrintField(node, TREE_READONLY, isConst); setPrintField(node, DECL_PURE_P, isPure); + setPrintField(node, DECL_EXTERNAL, isExternal); + setPrintField(node, TREE_PUBLIC, isPublic); + + Log::log(node); fillDeclAttributes(node); node->functionType = static_cast<FunctionTypeNode*>(createParseNode( diff --git a/src/parsers/decl/parm_decl.cpp b/src/parsers/decl/parm_decl.cpp index 4d305dd..fd314db 100644 --- a/src/parsers/decl/parm_decl.cpp +++ b/src/parsers/decl/parm_decl.cpp @@ -34,6 +34,7 @@ void parseParmDeclNode(ParmDeclNode *node) fillLocation(node); fillDeclLabel(node); setPrintField(node, DECL_REGISTER, isRegister); + setPrintField(node, TREE_USED, isUsed); Log::log(node); diff --git a/src/parsers/decl/result_decl.cpp b/src/parsers/decl/result_decl.cpp index 163e757..8a85c47 100644 --- a/src/parsers/decl/result_decl.cpp +++ b/src/parsers/decl/result_decl.cpp @@ -44,6 +44,17 @@ void parseResultDeclNode(ResultDeclNode *node) node, TREE_TYPE(node->gccNode), "result type")); + + node->declSize = static_cast<IntegerCstNode*>(createParseNode( + node, + DECL_SIZE(node->gccNode), + INTEGER_CST, + "decl size")); + + node->initial = createParseNode( + node, + DECL_INITIAL(node->gccNode), + "initial"); } } diff --git a/src/parsers/decl/var_decl.cpp b/src/parsers/decl/var_decl.cpp index 99b1fe0..5c411f7 100644 --- a/src/parsers/decl/var_decl.cpp +++ b/src/parsers/decl/var_decl.cpp @@ -36,6 +36,8 @@ void parseVarDeclNode(VarDeclNode *node) fillLocation(node); fillDeclLabel(node); setPrintField(node, DECL_THIS_STATIC, isStatic); + setPrintField(node, DECL_REGISTER, isRegister); + setPrintField(node, TREE_USED, isUsed); Log::log(node); @@ -53,7 +55,6 @@ void parseVarDeclNode(VarDeclNode *node) TREE_TYPE(node->gccNode), "var type")); - node->initial = createParseNode( node, DECL_INITIAL(node->gccNode), |