diff options
author | matz <matz@138bc75d-0d04-0410-961f-82ee72b054a4> | 2011-04-03 11:13:09 +0000 |
---|---|---|
committer | matz <matz@138bc75d-0d04-0410-961f-82ee72b054a4> | 2011-04-03 11:13:09 +0000 |
commit | bb903e9c84ce730268cc488d5d3b71821e2c13a2 (patch) | |
tree | cffddfa016b791b26c7af434581e9984b8129eea /gcc/cgraphbuild.c | |
parent | e7e718d0e3388209a0ddc92dc0e91baf547dd262 (diff) | |
download | gcc-bb903e9c84ce730268cc488d5d3b71821e2c13a2.tar.gz |
* cgraphbuild.c (record_reference): Canonicalize constructor
values.
* gimple-fold.c (canonicalize_constructor_val): Accept being called
without function context.
* cgraphunit.c (cgraph_finalize_compilation_unit): Clear
current_function_decl and cfun.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@171903 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/cgraphbuild.c')
-rw-r--r-- | gcc/cgraphbuild.c | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/gcc/cgraphbuild.c b/gcc/cgraphbuild.c index 6b8116a612a..3948cf62802 100644 --- a/gcc/cgraphbuild.c +++ b/gcc/cgraphbuild.c @@ -53,6 +53,12 @@ record_reference (tree *tp, int *walk_subtrees, void *data) tree decl; struct record_reference_ctx *ctx = (struct record_reference_ctx *)data; + t = canonicalize_constructor_val (t); + if (!t) + t = *tp; + else if (t != *tp) + *tp = t; + switch (TREE_CODE (t)) { case VAR_DECL: |