diff options
author | Jason Merrill <jason@yorick.cygnus.com> | 1998-04-17 01:57:57 +0000 |
---|---|---|
committer | Jason Merrill <jason@gcc.gnu.org> | 1998-04-16 21:57:57 -0400 |
commit | 2fcdec5719041a38cb6e9e4dd91115388896dd5b (patch) | |
tree | 4a835c6f78249046578299165ee5288e5c1f4cdd | |
parent | 2b6815eae26c4fb5853e2216d08bc725fe69fc1b (diff) | |
download | gcc-2fcdec5719041a38cb6e9e4dd91115388896dd5b.zip gcc-2fcdec5719041a38cb6e9e4dd91115388896dd5b.tar.gz gcc-2fcdec5719041a38cb6e9e4dd91115388896dd5b.tar.bz2 |
* decl2.c (build_expr_from_tree): Just return a PMF.
From-SVN: r19256
-rw-r--r-- | gcc/cp/ChangeLog | 4 | ||||
-rw-r--r-- | gcc/cp/decl2.c | 10 |
2 files changed, 12 insertions, 2 deletions
diff --git a/gcc/cp/ChangeLog b/gcc/cp/ChangeLog index 2aa936c..2ff3c13 100644 --- a/gcc/cp/ChangeLog +++ b/gcc/cp/ChangeLog @@ -1,3 +1,7 @@ +Fri Apr 17 01:57:12 1998 Jason Merrill <jason@yorick.cygnus.com> + + * decl2.c (build_expr_from_tree): Just return a PMF. + Fri Apr 17 00:45:12 1998 Mark Mitchell <mmitchell@usa.net> * typeck2.c (process_init_constructor): Don't strip cv-qualifiers diff --git a/gcc/cp/decl2.c b/gcc/cp/decl2.c index 42cbba9..5ab2f98 100644 --- a/gcc/cp/decl2.c +++ b/gcc/cp/decl2.c @@ -3540,8 +3540,14 @@ build_expr_from_tree (t) case CONSTRUCTOR: { - tree r = build_nt (CONSTRUCTOR, NULL_TREE, - build_expr_from_tree (CONSTRUCTOR_ELTS (t))); + tree r; + + /* digest_init will do the wrong thing if we let it. */ + if (TREE_TYPE (t) && TYPE_PTRMEMFUNC_P (TREE_TYPE (t))) + return t; + + r = build_nt (CONSTRUCTOR, NULL_TREE, + build_expr_from_tree (CONSTRUCTOR_ELTS (t))); if (TREE_TYPE (t)) return digest_init (TREE_TYPE (t), r, 0); |