From: Rémi Bernon rbernon@codeweavers.com
--- tools/widl/client.c | 1 - tools/widl/expr.c | 1 - tools/widl/expr.h | 41 ----------------------------------------- tools/widl/header.c | 1 - tools/widl/parser.y | 1 - tools/widl/proxy.c | 1 - tools/widl/typegen.c | 1 - tools/widl/widl.h | 23 +++++++++++++++++++++++ 8 files changed, 23 insertions(+), 47 deletions(-) delete mode 100644 tools/widl/expr.h
diff --git a/tools/widl/client.c b/tools/widl/client.c index 704be91cb78..66dd766a00c 100644 --- a/tools/widl/client.c +++ b/tools/widl/client.c @@ -32,7 +32,6 @@
#include "widltypes.h" #include "typegen.h" -#include "expr.h"
static FILE* client; static int indent = 0; diff --git a/tools/widl/expr.c b/tools/widl/expr.c index e0c56b81089..813fbdab680 100644 --- a/tools/widl/expr.c +++ b/tools/widl/expr.c @@ -30,7 +30,6 @@
#include "widl.h" #include "utils.h" -#include "expr.h" #include "header.h" #include "typetree.h" #include "typegen.h" diff --git a/tools/widl/expr.h b/tools/widl/expr.h deleted file mode 100644 index 7b0e1b2c7ba..00000000000 --- a/tools/widl/expr.h +++ /dev/null @@ -1,41 +0,0 @@ -/* - * Expression Abstract Syntax Tree Functions - * - * Copyright 2002 Ove Kaaven - * Copyright 2006-2008 Robert Shearman - * - * This library is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 2.1 of the License, or (at your option) any later version. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with this library; if not, write to the Free Software - * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA - */ - -struct expr_loc -{ - const var_t *v; - const char *attr; -}; - -extern expr_t *make_expr(enum expr_type type); -extern expr_t *make_exprl(enum expr_type type, int val); -extern expr_t *make_exprd(enum expr_type type, double val); -extern expr_t *make_exprs(enum expr_type type, char *val); -extern expr_t *make_exprt(enum expr_type type, var_t *var, expr_t *expr); -extern expr_t *make_expr1(enum expr_type type, expr_t *expr); -extern expr_t *make_expr2(enum expr_type type, expr_t *exp1, expr_t *exp2); -extern expr_t *make_expr3(enum expr_type type, expr_t *expr1, expr_t *expr2, expr_t *expr3); - -extern const type_t *expr_resolve_type(const struct expr_loc *expr_loc, const type_t *cont_type, const expr_t *expr); -extern int compare_expr(const expr_t *a, const expr_t *b); - -extern void write_expr(FILE *h, const expr_t *e, int brackets, int toplevel, const char *toplevel_prefix, - const type_t *cont_type, const char *local_var_prefix); diff --git a/tools/widl/header.c b/tools/widl/header.c index 624d38094f9..ae85169f630 100644 --- a/tools/widl/header.c +++ b/tools/widl/header.c @@ -30,7 +30,6 @@ #include "utils.h" #include "parser.h" #include "header.h" -#include "expr.h" #include "typetree.h" #include "typelib.h"
diff --git a/tools/widl/parser.y b/tools/widl/parser.y index bfd41aa9807..703db705c94 100644 --- a/tools/widl/parser.y +++ b/tools/widl/parser.y @@ -35,7 +35,6 @@ #include "header.h" #include "typelib.h" #include "typegen.h" -#include "expr.h" #include "typetree.h"
struct _import_t diff --git a/tools/widl/proxy.c b/tools/widl/proxy.c index 3d55cd73ee7..188fd09247e 100644 --- a/tools/widl/proxy.c +++ b/tools/widl/proxy.c @@ -31,7 +31,6 @@ #include "parser.h" #include "header.h" #include "typegen.h" -#include "expr.h"
static FILE* proxy; static int indent = 0; diff --git a/tools/widl/typegen.c b/tools/widl/typegen.c index b3373ded11d..9d1d5a6ec11 100644 --- a/tools/widl/typegen.c +++ b/tools/widl/typegen.c @@ -35,7 +35,6 @@ #include "typetree.h"
#include "typegen.h" -#include "expr.h"
/* round size up to multiple of alignment */ #define ROUND_SIZE(size, alignment) (((size) + ((alignment) - 1)) & ~((alignment) - 1)) diff --git a/tools/widl/widl.h b/tools/widl/widl.h index 7595cfe7311..d6e82412d4b 100644 --- a/tools/widl/widl.h +++ b/tools/widl/widl.h @@ -131,4 +131,27 @@ extern attr_list_t *check_typedef_attrs( attr_list_t *attrs ); extern attr_list_t *check_union_attrs( attr_list_t *attrs ); extern void check_arg_attrs( const var_t *arg );
+/* expr.c */ + +struct expr_loc +{ + const var_t *v; + const char *attr; +}; + +extern expr_t *make_expr( enum expr_type type ); +extern expr_t *make_exprl( enum expr_type type, int val ); +extern expr_t *make_exprd( enum expr_type type, double val ); +extern expr_t *make_exprs( enum expr_type type, char *val ); +extern expr_t *make_exprt( enum expr_type type, var_t *var, expr_t *expr ); +extern expr_t *make_expr1( enum expr_type type, expr_t *expr ); +extern expr_t *make_expr2( enum expr_type type, expr_t *exp1, expr_t *exp2 ); +extern expr_t *make_expr3( enum expr_type type, expr_t *expr1, expr_t *expr2, expr_t *expr3 ); + +extern const type_t *expr_resolve_type( const struct expr_loc *expr_loc, const type_t *cont_type, const expr_t *expr ); +extern int compare_expr( const expr_t *a, const expr_t *b ); + +extern void write_expr( FILE *h, const expr_t *e, int brackets, int toplevel, const char *toplevel_prefix, + const type_t *cont_type, const char *local_var_prefix ); + #endif