aboutsummaryrefslogtreecommitdiff
path: root/gcc/expr.c
diff options
context:
space:
mode:
authorAlexandre Petit-Bianco <apbianco@cygnus.com>1998-04-08 14:03:48 +0000
committerPer Bothner <bothner@gcc.gnu.org>1998-04-08 07:03:48 -0700
commitbf1e5319c3c6a2e26470ca5e17340fff30b9510e (patch)
treeda1bfbbe113dd95c4e32fc4661d73298fc0876a6 /gcc/expr.c
parent1382bac6e8cd0595741e2d69e38e585232b73eba (diff)
downloadgcc-bf1e5319c3c6a2e26470ca5e17340fff30b9510e.zip
gcc-bf1e5319c3c6a2e26470ca5e17340fff30b9510e.tar.gz
gcc-bf1e5319c3c6a2e26470ca5e17340fff30b9510e.tar.bz2
tree.def (EXPR_WITH_FILE_LOCATION): New tree node definition.
d Fri Apr 3 17:02:13 1998 Alexandre Petit-Bianco <apbianco@cygnus.com> * tree.def (EXPR_WITH_FILE_LOCATION): New tree node definition. * tree.h (EXPR_WFL_{NODE,FILENAME,FILENAME_NODE,LINENO, COLNO,LINECOL,SET_LINECOL,EMIT_LINE_NOTE}): New macros. (build_expr_wfl): New prototype declaration. * tree.c (build_expr_wfl): New function, to build EXPR_WITH_FILE_LOCATION nodes. (copy_node): Don't zero TREE_CHAIN if copying a EXPR_WITH_FILE_LOCATION node. * print-tree.c (print_node): Handle EXPR_WITH_FILE_LOCATION. * expr.c (expand_expr): Handle EXPR_WITH_FILE_LOCATION. From-SVN: r19049
Diffstat (limited to 'gcc/expr.c')
-rw-r--r--gcc/expr.c5
1 files changed, 5 insertions, 0 deletions
diff --git a/gcc/expr.c b/gcc/expr.c
index 2e79f00..c126520 100644
--- a/gcc/expr.c
+++ b/gcc/expr.c
@@ -5171,6 +5171,11 @@ expand_expr (exp, target, tmode, modifier)
copy_rtx (XEXP (TREE_CST_RTL (exp), 0)));
return TREE_CST_RTL (exp);
+ case EXPR_WITH_FILE_LOCATION:
+ if (EXPR_WFL_EMIT_LINE_NOTE (exp))
+ emit_line_note (EXPR_WFL_FILENAME (exp), EXPR_WFL_LINENO (exp));
+ return expand_expr (EXPR_WFL_NODE (exp), target, tmode, modifier);
+
case SAVE_EXPR:
context = decl_function_context (exp);