aboutsummaryrefslogtreecommitdiff
path: root/gcc/treelang
diff options
context:
space:
mode:
Diffstat (limited to 'gcc/treelang')
-rw-r--r--gcc/treelang/ChangeLog5
-rw-r--r--gcc/treelang/treetree.c4
2 files changed, 7 insertions, 2 deletions
diff --git a/gcc/treelang/ChangeLog b/gcc/treelang/ChangeLog
index 4f5f4d1..8e1d769 100644
--- a/gcc/treelang/ChangeLog
+++ b/gcc/treelang/ChangeLog
@@ -1,3 +1,8 @@
+2007-07-25 Richard Guenther <rguenther@suse.de>
+
+ * treetree.c (tree_code_generate_return): RETURN_EXPRs
+ have volatile type.
+
2007-07-17 Nick Clifton <nickc@redhat.com>
* parse.y: Change copyright header to refer to version 3 of the
diff --git a/gcc/treelang/treetree.c b/gcc/treelang/treetree.c
index b4fe655..cbd61d4 100644
--- a/gcc/treelang/treetree.c
+++ b/gcc/treelang/treetree.c
@@ -575,13 +575,13 @@ tree_code_generate_return (tree type, tree exp)
fold_convert (type, exp));
TREE_SIDE_EFFECTS (setret) = 1;
TREE_USED (setret) = 1;
- setret = build1 (RETURN_EXPR, type, setret);
+ setret = build1 (RETURN_EXPR, void_type_node, setret);
/* Use EXPR_LOCUS so we don't lose any information about the file we
are compiling. */
SET_EXPR_LOCUS (setret, EXPR_LOCUS (exp));
}
else
- setret = build1 (RETURN_EXPR, type, NULL_TREE);
+ setret = build1 (RETURN_EXPR, void_type_node, NULL_TREE);
append_to_statement_list_force (setret, getstmtlist ());
}