diff options
-rw-r--r-- | src/Makefile.am | 9 | ||||
-rw-r--r-- | src/includes.h | 4 | ||||
-rw-r--r-- | src/parsers/block/try_block.cpp | 2 | ||||
-rw-r--r-- | src/parsers/cst/ptrmem_cst.cpp | 4 | ||||
-rw-r--r-- | src/parsers/decl/template_decl.cpp | 2 | ||||
-rw-r--r-- | src/parsers/decl/var_decl.cpp | 2 | ||||
-rw-r--r-- | src/parsers/expr/aggrinit_expr.cpp | 2 | ||||
-rw-r--r-- | src/parsers/expr/vecinit_expr.cpp | 2 | ||||
-rw-r--r-- | src/parsers/handler.cpp | 2 | ||||
-rw-r--r-- | src/parsers/stmt/cleanup_stmt.cpp | 2 | ||||
-rw-r--r-- | src/parsers/stmt/do_stmt.cpp | 2 | ||||
-rw-r--r-- | src/parsers/stmt/expr_stmt.cpp | 2 | ||||
-rw-r--r-- | src/parsers/stmt/for_stmt.cpp | 2 | ||||
-rw-r--r-- | src/parsers/stmt/if_stmt.cpp | 2 | ||||
-rw-r--r-- | src/parsers/stmt/switch_stmt.cpp | 2 | ||||
-rw-r--r-- | src/parsers/stmt/while_stmt.cpp | 2 | ||||
-rw-r--r-- | src/parsers/templateparmindex.cpp | 2 | ||||
-rw-r--r-- | src/parsers/templatetypeparm.cpp | 2 | ||||
-rw-r--r-- | src/parsers/type/typename_type.cpp | 4 |
19 files changed, 48 insertions, 3 deletions
diff --git a/src/Makefile.am b/src/Makefile.am index d6a091c..e884c5f 100644 --- a/src/Makefile.am +++ b/src/Makefile.am @@ -35,11 +35,16 @@ if ENABLE_GPROF SHARED_CXXFLAGS += "-pg" endif -lib_LTLIBRARIES = libastdumper.la +lib_LTLIBRARIES = libastdumper.la libcppastdumper.la libastdumper_la_SOURCES = ${SRC} libastdumper_la_LDFLAGS = ${SHARED_LDFLAGS} libastdumper_la_CXXFLAGS = ${SHARED_CXXFLAGS} -all-local: libastdumper.la +libcppastdumper_la_SOURCES = ${SRC} +libcppastdumper_la_LDFLAGS = ${SHARED_LDFLAGS} +libcppastdumper_la_CXXFLAGS = ${SHARED_CXXFLAGS} -DENABLE_CPPLANG + +all-local: libastdumper.la libcppastdumper.la cp .libs/libastdumper.so .libs/astdumper.so + cp .libs/libcppastdumper.so .libs/cppastdumper.so echo done diff --git a/src/includes.h b/src/includes.h index ba436bc..7a1ef5e 100644 --- a/src/includes.h +++ b/src/includes.h @@ -41,7 +41,11 @@ #include "tree.h" #include "print-tree.h" +#ifdef ENABLE_CPPLANG #include "cp/cp-tree.h" +#else +#include "c-family/c-common.h" +#endif #include "diagnostic.h" diff --git a/src/parsers/block/try_block.cpp b/src/parsers/block/try_block.cpp index a46d232..bf320f2 100644 --- a/src/parsers/block/try_block.cpp +++ b/src/parsers/block/try_block.cpp @@ -34,6 +34,7 @@ void parseTryBlockNode(TryBlockNode *node) fillExprLocation(node); Log::dump(node); +#ifdef ENABLE_CPPLANG setPrintField(node, CLEANUP_P, isClean); node->body = createParseNode( @@ -45,6 +46,7 @@ void parseTryBlockNode(TryBlockNode *node) node, TRY_HANDLERS(node->gccNode), "handler"); +#endif } } diff --git a/src/parsers/cst/ptrmem_cst.cpp b/src/parsers/cst/ptrmem_cst.cpp index 0af2bc6..7934769 100644 --- a/src/parsers/cst/ptrmem_cst.cpp +++ b/src/parsers/cst/ptrmem_cst.cpp @@ -33,14 +33,16 @@ void parsePtrMemCstNode(PtrMemCstNode *node) fillType(node); Log::dump(node); +#ifdef ENABLE_CPPLANG node->record = createParseNode( node, PTRMEM_CST_CLASS(node->gccNode), "record"); node->memberDecl = static_cast<DeclNode*>(createParseNode( node, - PTRMEM_CST_CLASS(node->gccNode), + PTRMEM_CST_MEMBER(node->gccNode), "member decl")); +#endif } } diff --git a/src/parsers/decl/template_decl.cpp b/src/parsers/decl/template_decl.cpp index 46a71ac..394f427 100644 --- a/src/parsers/decl/template_decl.cpp +++ b/src/parsers/decl/template_decl.cpp @@ -38,6 +38,7 @@ void parseTemplateDeclNode(TemplateDeclNode *node) fillDeclAutoGenerated(node); fillDeclAttributes(node); +#ifdef ENABLE_CPPLANG node->specializations = static_cast<TreeListNode*>(createParseNode( node, DECL_TEMPLATE_SPECIALIZATIONS(node->gccNode), @@ -49,6 +50,7 @@ void parseTemplateDeclNode(TemplateDeclNode *node) DECL_TEMPLATE_INSTANTIATIONS(node->gccNode), TREE_LIST, "instantiations")); +#endif } } diff --git a/src/parsers/decl/var_decl.cpp b/src/parsers/decl/var_decl.cpp index 09afed1..88fef9b 100644 --- a/src/parsers/decl/var_decl.cpp +++ b/src/parsers/decl/var_decl.cpp @@ -38,7 +38,9 @@ void parseVarDeclNode(VarDeclNode *node) Log::dump(node); +#ifdef ENABLE_CPPLANG setPrintField(node, DECL_THIS_STATIC, isStatic); +#endif setPrintField(node, DECL_REGISTER, isRegister); setPrintField(node, TREE_USED, isUsed); setPrintField(node, DECL_VIRTUAL_P, isVirtual); diff --git a/src/parsers/expr/aggrinit_expr.cpp b/src/parsers/expr/aggrinit_expr.cpp index b6291f2..b5c17ae 100644 --- a/src/parsers/expr/aggrinit_expr.cpp +++ b/src/parsers/expr/aggrinit_expr.cpp @@ -36,6 +36,7 @@ void parseAggrInitExprNode(AggrInitExprNode *node) //fillExprOperands(node); +#ifdef ENABLE_CPPLANG node->function = createParseNode( node, AGGR_INIT_EXPR_FN(node->gccNode), @@ -52,6 +53,7 @@ void parseAggrInitExprNode(AggrInitExprNode *node) AGGR_INIT_EXPR_ARG(node->gccNode, f), "arg")); } +#endif } } diff --git a/src/parsers/expr/vecinit_expr.cpp b/src/parsers/expr/vecinit_expr.cpp index 867d419..178b414 100644 --- a/src/parsers/expr/vecinit_expr.cpp +++ b/src/parsers/expr/vecinit_expr.cpp @@ -34,7 +34,9 @@ void parseVecInitExprNode(VecInitExprNode *node) fillExprLocation(node); Log::dump(node); +#ifdef ENABLE_CPPLANG setPrintField(node, VEC_INIT_EXPR_IS_CONSTEXPR, isConstExpr); +#endif fillExprOperands(node); diff --git a/src/parsers/handler.cpp b/src/parsers/handler.cpp index f1c62a6..da727c0 100644 --- a/src/parsers/handler.cpp +++ b/src/parsers/handler.cpp @@ -31,6 +31,7 @@ void parseHandlerNode(HandlerNode *node) fillType(node); Log::dump(node); +#ifdef ENABLE_CPPLANG node->type = createParseNode( node, HANDLER_TYPE(node->gccNode), @@ -43,6 +44,7 @@ void parseHandlerNode(HandlerNode *node) node, HANDLER_BODY(node->gccNode), "body"); +#endif } } diff --git a/src/parsers/stmt/cleanup_stmt.cpp b/src/parsers/stmt/cleanup_stmt.cpp index 06f9b4e..dae9b4f 100644 --- a/src/parsers/stmt/cleanup_stmt.cpp +++ b/src/parsers/stmt/cleanup_stmt.cpp @@ -35,6 +35,7 @@ void parseCleanupStmtNode(CleanupStmtNode *node) fillExprLocation(node); Log::dump(node); +#ifdef ENABLE_CPPLANG node->body = createParseNode( node, CLEANUP_BODY(node->gccNode), @@ -47,6 +48,7 @@ void parseCleanupStmtNode(CleanupStmtNode *node) node, CLEANUP_DECL(node->gccNode), "decl")); +#endif } } diff --git a/src/parsers/stmt/do_stmt.cpp b/src/parsers/stmt/do_stmt.cpp index 1b485bc..64491f6 100644 --- a/src/parsers/stmt/do_stmt.cpp +++ b/src/parsers/stmt/do_stmt.cpp @@ -38,6 +38,7 @@ void parseDoStmtNode(DoStmtNode *node) fillExprLocation(node); Log::dump(node); +#ifdef ENABLE_CPPLANG node->condition = static_cast<ExprNode*>(createParseNode( node, DO_COND(node->gccNode), @@ -47,6 +48,7 @@ void parseDoStmtNode(DoStmtNode *node) node, DO_BODY(node->gccNode), "body"); +#endif } } diff --git a/src/parsers/stmt/expr_stmt.cpp b/src/parsers/stmt/expr_stmt.cpp index a17a2dc..b4bd954 100644 --- a/src/parsers/stmt/expr_stmt.cpp +++ b/src/parsers/stmt/expr_stmt.cpp @@ -40,10 +40,12 @@ void parseExprStmtNode(ExprStmtNode *node) if (!node->parseChilds) return; +#ifdef ENABLE_CPPLANG node->expression = static_cast<ExprNode*>(createParseNode( node, EXPR_STMT_EXPR(node->gccNode), "expresssion")); +#endif } } diff --git a/src/parsers/stmt/for_stmt.cpp b/src/parsers/stmt/for_stmt.cpp index d06be43..3b67782 100644 --- a/src/parsers/stmt/for_stmt.cpp +++ b/src/parsers/stmt/for_stmt.cpp @@ -35,6 +35,7 @@ void parseForStmtNode(ForStmtNode *node) fillExprLocation(node); Log::dump(node); +#ifdef ENABLE_CPPLANG node->init = static_cast<StmtNode*>(createParseNode( node, FOR_INIT_STMT(node->gccNode), @@ -54,6 +55,7 @@ void parseForStmtNode(ForStmtNode *node) node, FOR_BODY(node->gccNode), "body")); +#endif } } diff --git a/src/parsers/stmt/if_stmt.cpp b/src/parsers/stmt/if_stmt.cpp index 92eaff7..6b59202 100644 --- a/src/parsers/stmt/if_stmt.cpp +++ b/src/parsers/stmt/if_stmt.cpp @@ -38,6 +38,7 @@ void parseIfStmtNode(IfStmtNode *node) if (!node->parseChilds) return; +#ifdef ENABLE_CPPLANG node->condition = createParseNode( node, IF_COND(node->gccNode), @@ -55,6 +56,7 @@ void parseIfStmtNode(IfStmtNode *node) node, IF_SCOPE(node->gccNode), "score"); +#endif } } diff --git a/src/parsers/stmt/switch_stmt.cpp b/src/parsers/stmt/switch_stmt.cpp index 5fc1464..c48b567 100644 --- a/src/parsers/stmt/switch_stmt.cpp +++ b/src/parsers/stmt/switch_stmt.cpp @@ -35,6 +35,7 @@ void parseSwitchStmtNode(SwitchStmtNode *node) fillExprLocation(node); Log::dump(node); +#ifdef ENABLE_CPPLANG node->condition = createParseNode( node, SWITCH_STMT_COND(node->gccNode), @@ -54,6 +55,7 @@ void parseSwitchStmtNode(SwitchStmtNode *node) node, SWITCH_STMT_SCOPE(node->gccNode), "scope"); +#endif } } diff --git a/src/parsers/stmt/while_stmt.cpp b/src/parsers/stmt/while_stmt.cpp index bb580f1..54fc2d9 100644 --- a/src/parsers/stmt/while_stmt.cpp +++ b/src/parsers/stmt/while_stmt.cpp @@ -38,6 +38,7 @@ void parseWhileStmtNode(WhileStmtNode *node) if (!node->parseChilds) return; +#ifdef ENABLE_CPPLANG node->condition = createParseNode( node, WHILE_COND(node->gccNode), @@ -47,6 +48,7 @@ void parseWhileStmtNode(WhileStmtNode *node) node, WHILE_BODY(node->gccNode), "body"); +#endif } } diff --git a/src/parsers/templateparmindex.cpp b/src/parsers/templateparmindex.cpp index 493aefe..a5f6b62 100644 --- a/src/parsers/templateparmindex.cpp +++ b/src/parsers/templateparmindex.cpp @@ -32,6 +32,7 @@ void parseTemplateParmIndexNode(TemplateParmIndexNode *node) fillType(node); Log::dump(node); +#ifdef ENABLE_CPPLANG setPrintField(node, TEMPLATE_PARM_IDX, parmIdx); setPrintField(node, TEMPLATE_PARM_LEVEL, parmLevel); setPrintField(node, TEMPLATE_PARM_ORIG_LEVEL, parmOrigLevel); @@ -45,6 +46,7 @@ void parseTemplateParmIndexNode(TemplateParmIndexNode *node) node, TEMPLATE_PARM_DECL(node->gccNode), "parm decl"); +#endif } } diff --git a/src/parsers/templatetypeparm.cpp b/src/parsers/templatetypeparm.cpp index d824bc6..46dc18b 100644 --- a/src/parsers/templatetypeparm.cpp +++ b/src/parsers/templatetypeparm.cpp @@ -32,10 +32,12 @@ void parseTemplateTypeParmNode(TemplateTypeParmNode *node) fillType(node); Log::dump(node); +#ifdef ENABLE_CPPLANG node->index = createParseNode( node, TEMPLATE_TYPE_PARM_INDEX(node->gccNode), "index"); +#endif } } diff --git a/src/parsers/type/typename_type.cpp b/src/parsers/type/typename_type.cpp index 8d183d3..2acb957 100644 --- a/src/parsers/type/typename_type.cpp +++ b/src/parsers/type/typename_type.cpp @@ -33,17 +33,21 @@ void parseTypeNameTypeNode(TypeNameTypeNode *node) fillType(node); Log::dump(node); +#ifdef ENABLE_CPPLANG setPrintField(node, TYPENAME_IS_ENUM_P, isEnum); setPrintField(node, TYPENAME_IS_CLASS_P, isClass); setPrintField(node, TYPENAME_IS_RESOLVING_P, isResolving); +#endif fillTypeName(node); fillTypeAttributes(node); +#ifdef ENABLE_CPPLANG node->fullName = createParseNode( node, TYPENAME_TYPE_FULLNAME(node->gccNode), "full name"); +#endif } } |