diff options
author | jason <jason@138bc75d-0d04-0410-961f-82ee72b054a4> | 2011-12-01 05:40:54 +0000 |
---|---|---|
committer | jason <jason@138bc75d-0d04-0410-961f-82ee72b054a4> | 2011-12-01 05:40:54 +0000 |
commit | 61e987fcbd1541018ccf18f7b64294cd35dc5f34 (patch) | |
tree | 9db7a238bb7693a1c77f147672720e5b06a94c0d /gcc/c-family/c-common.h | |
parent | 614376985e2429b8d8cd77d46e05e31e597beb43 (diff) | |
download | gcc-61e987fcbd1541018ccf18f7b64294cd35dc5f34.tar.gz |
PR c++/51009
* name-lookup.c (push_to_top_level): Set stmts_are_full_exprs_p.
* decl.c (build_aggr_init_full_exprs): Just assert that it's true.
(check_initializer): Here too.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@181872 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/c-family/c-common.h')
-rw-r--r-- | gcc/c-family/c-common.h | 7 |
1 files changed, 1 insertions, 6 deletions
diff --git a/gcc/c-family/c-common.h b/gcc/c-family/c-common.h index 4d65dd1b7f1..8ef95aa0b17 100644 --- a/gcc/c-family/c-common.h +++ b/gcc/c-family/c-common.h @@ -487,18 +487,13 @@ struct GTY(()) stmt_tree_s { VEC(tree,gc) *x_cur_stmt_list; /* In C++, Nonzero if we should treat statements as full - expressions. In particular, this variable is no-zero if at the + expressions. In particular, this variable is non-zero if at the end of a statement we should destroy any temporaries created during that statement. Similarly, if, at the end of a block, we should destroy any local variables in this block. Normally, this variable is nonzero, since those are the normal semantics of C++. - However, in order to represent aggregate initialization code as - tree structure, we use statement-expressions. The statements - within the statement expression should not result in cleanups - being run until the entire enclosing statement is complete. - This flag has no effect in C. */ int stmts_are_full_exprs_p; }; |