diff options
author | Mark Mitchell <mark@markmitchell.com> | 1998-11-08 13:26:38 +0000 |
---|---|---|
committer | Mark Mitchell <mmitchel@gcc.gnu.org> | 1998-11-08 13:26:38 +0000 |
commit | 5c0aa6d0a0ea257515d0afb35517c30dfaaea210 (patch) | |
tree | 5bafff4a92d051508bbe56705029a2d6e61bf736 | |
parent | ec2288ffe0fe34e2940f59ed38ec1a5d53d09764 (diff) | |
download | gcc-5c0aa6d0a0ea257515d0afb35517c30dfaaea210.zip gcc-5c0aa6d0a0ea257515d0afb35517c30dfaaea210.tar.gz gcc-5c0aa6d0a0ea257515d0afb35517c30dfaaea210.tar.bz2 |
* method.c (build_overload_value): Handle REFERENCE_TYPE.
From-SVN: r23573
-rw-r--r-- | gcc/cp/ChangeLog | 4 | ||||
-rw-r--r-- | gcc/cp/method.c | 4 | ||||
-rw-r--r-- | gcc/testsuite/g++.old-deja/g++.pt/ref1.C | 16 |
3 files changed, 24 insertions, 0 deletions
diff --git a/gcc/cp/ChangeLog b/gcc/cp/ChangeLog index 484799c..5b0ad59 100644 --- a/gcc/cp/ChangeLog +++ b/gcc/cp/ChangeLog @@ -1,3 +1,7 @@ +1998-11-08 Mark Mitchell <mark@markmitchell.com> + + * method.c (build_overload_value): Handle REFERENCE_TYPE. + 1998-11-08 Martin von Löwis <loewis@informatik.hu-berlin.de> * decl.c (grokdeclarator): Allow namespace-scoped members if they diff --git a/gcc/cp/method.c b/gcc/cp/method.c index ee0185b..21dbbab 100644 --- a/gcc/cp/method.c +++ b/gcc/cp/method.c @@ -794,6 +794,10 @@ build_overload_value (type, value, in_template) } value = TREE_OPERAND (value, 0); + + /* Fall through. */ + + case REFERENCE_TYPE: if (TREE_CODE (value) == VAR_DECL) { my_friendly_assert (DECL_NAME (value) != 0, 245); diff --git a/gcc/testsuite/g++.old-deja/g++.pt/ref1.C b/gcc/testsuite/g++.old-deja/g++.pt/ref1.C new file mode 100644 index 0000000..8b117a5 --- /dev/null +++ b/gcc/testsuite/g++.old-deja/g++.pt/ref1.C @@ -0,0 +1,16 @@ +// Build don't link: + +int i; + +template <void (&FN)()> +void g () +{ + FN (); +} + +void h () +{ + i = 7; +} + +template void g<h>(); |