aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorJason Merrill <jason@gcc.gnu.org>2001-07-05 21:14:28 -0400
committerJason Merrill <jason@gcc.gnu.org>2001-07-05 21:14:28 -0400
commitede3cf236bce7c56273771d610bf6b9989003d4f (patch)
treeecafd63437559b88e3461223aa98ff6d2c253181 /gcc
parent1e4ce346c565ed6ca6606d6267f6c48c3fdadad1 (diff)
downloadgcc-ede3cf236bce7c56273771d610bf6b9989003d4f.zip
gcc-ede3cf236bce7c56273771d610bf6b9989003d4f.tar.gz
gcc-ede3cf236bce7c56273771d610bf6b9989003d4f.tar.bz2
cvt.c (convert_lvalue): New fn.
* cvt.c (convert_lvalue): New fn. * cp-tree.h: Declare it. * method.c (do_build_assign_ref): Use it. (do_build_copy_constructor): Convert parm to base types before calling base constructors. From-SVN: r43798
Diffstat (limited to 'gcc')
-rw-r--r--gcc/testsuite/g++.old-deja/g++.mike/p2846.C15
1 files changed, 13 insertions, 2 deletions
diff --git a/gcc/testsuite/g++.old-deja/g++.mike/p2846.C b/gcc/testsuite/g++.old-deja/g++.mike/p2846.C
index b9a44c4..2849491 100644
--- a/gcc/testsuite/g++.old-deja/g++.mike/p2846.C
+++ b/gcc/testsuite/g++.old-deja/g++.mike/p2846.C
@@ -6,6 +6,8 @@ extern "C" void exit(int);
class A;
class B;
+int c;
+
class A {
public:
@@ -30,6 +32,7 @@ public:
virtual ~B(void){}
void print(void) const {
+ ++c;
printf("B::print\n");
}
@@ -50,6 +53,14 @@ int main ()
{
A titi;
A toto = titi.compute();
- printf("PASS\n");
- return 0;
+ if (c != 1)
+ {
+ printf ("FAIL\n");
+ return 1;
+ }
+ else
+ {
+ printf("PASS\n");
+ return 0;
+ }
}