Mercurial > hg > CbC > CbC_gcc
comparison gcc/testsuite/g++.old-deja/g++.mike/p811.C @ 131:84e7813d76e9
gcc-8.2
author | mir3636 |
---|---|
date | Thu, 25 Oct 2018 07:37:49 +0900 |
parents | 04ced10e8804 |
children |
comparison
equal
deleted
inserted
replaced
111:04ced10e8804 | 131:84e7813d76e9 |
---|---|
510 | 510 |
511 class Y { | 511 class Y { |
512 public: | 512 public: |
513 Y() {} | 513 Y() {} |
514 virtual const char *stringify() = 0; | 514 virtual const char *stringify() = 0; |
515 virtual char *stringify2() const = 0; // { dg-error "overriding" } | 515 virtual char *stringify2() const = 0; // { dg-message "overridden" } |
516 }; | 516 }; |
517 | 517 |
518 class X: public Y { // { dg-message "defined here" } | 518 class X: public Y { // { dg-message "defined here" } |
519 public: | 519 public: |
520 X(): Y() {} | 520 X(): Y() {} |
533 X::stringify2() // { dg-error "no declaration matches" } | 533 X::stringify2() // { dg-error "no declaration matches" } |
534 { | 534 { |
535 return "stringify2"; | 535 return "stringify2"; |
536 } | 536 } |
537 | 537 |
538 int | |
538 main() | 539 main() |
539 { | 540 { |
540 X x; | 541 X x; |
541 Y& y = x; | 542 Y& y = x; |
542 | 543 |
545 cout << x.stringify2() << '\n'; | 546 cout << x.stringify2() << '\n'; |
546 | 547 |
547 cout << "y\n"; | 548 cout << "y\n"; |
548 cout << y.stringify() << '\n'; | 549 cout << y.stringify() << '\n'; |
549 cout << y.stringify2() << '\n'; | 550 cout << y.stringify2() << '\n'; |
551 | |
552 return 0; | |
550 } | 553 } |